大家好我在这里调试我的应用程序,基本上简单来说 – 应用程序在我的在线服务器上消失,或者我的服务器可能会消失.但我已经检查了这个应用程序三个不同的服务器,并且都显示了类似的结果,应用程序将运行一段时间,但突然间,当我打开越来越多的请求时,我会收到网络错误或者网站将无法加载.
我怀疑我的代码在这里,所以我需要找出如何使它更少资源密集,我不知道为什么它首先这样做.它虽然在我的localhost机器上运行正常.
或者是因为我在技术共享主机上托管它?我应该寻找托管应用程序的专门托管吗?我的应用程序中有很多复杂的数据库查询和ajax请求.
至于检查脚本使用了多少内存,您可以定期在代码中的点调用
原文链接:https://www.f2er.com/php/136515.htmlmemory_get_usage(true)
,以确定脚本的哪些部分正在使用内存.
memory_get_peak_usage(true)
显然返回使用的最大内存量.
你说你的应用程序运行一段时间.这是一个一直运行的单个脚本,还是许多不同的页面请求/访问者?每个脚本通常有一个max_execution_time(通常默认为30秒).可以通过调用set_time_limit()
在每个脚本的基础上更改代码.
PHP.ini中还设置了一个固有的memory_limit.在共享主机上,这可能是64M或更低.
“……一旦我打开越来越多的请求……” – 客户端可以与服务器同时(ajax)请求的数量有限制.浏览器可以设置为8甚至更低(这可以通过about:config在Firefox中更改).这是为了防止单个客户端使用请求淹没服务器.可以将服务器配置为禁止打开过多请求的客户端!
共享主机可能具有限制性.但是,如果主机没有托管太多站点,那么它们可以是非常强大的服务器,让您可以在短时间内获得大量电源.强调短时间 – 控制在共享服务器上消耗太多资源的脚本符合主机的利益,因为其他客户会受到影响.
Should I look for specialised hosting for hosting an application?
你必须更具体.如今大多数网站都是“应用程序”.如果您所做的不仅仅是简单地提供网页,并且不断运行运行一段时间的密集脚本,那么您可能需要进行专门的托管.不只是为了您的利益,而是为了共享服务器上的其他人的利益!