2015-02-24 57 views
1

我的网站运行在具有8GB内存的专用服务器上。默认情况下,memory_limit设置为32MB。需要多少PHP memory_limit?

如何找出我的网站的正确memory_limit要求?影响memory_limit设置的因素有哪些?做网站或并发请求数如交通因素等影响,或导致类似“允许的内存大小疲惫的错误错误

+0

流量,你运行的低效代码数量本身并没有清除,等等。 – Halfstop 2015-02-24 18:22:26

+0

我不知道memory_limit是否有“正确”的值。通常你会允许它使用尽可能多的内存。就像根据服务器应该做什么一样。你打开大文件吗?你正在运行预制包装吗?任何大型的预制软件包应该有一个建议,我会建议去那个。如果内存限制了它,PHP会抛出一个错误。 – 2015-02-24 18:22:42

+0

你会[找到这个](https://php.net/manual/en/function.memory-get-peak-usage.php)在确定每个进程的最高RAM使用率时非常有用。如果将它添加到日常记录中,您可以了解用户操作会导致什么用法。然后,您需要将工艺尺寸设置为最大值加上安全裕度,以允许小幅增加(可能会超过最大值)。 – halfer 2015-02-24 19:22:53

回答

2

您可以通过在php.ini改变memory_limit或动态设置它改变了内存限制:

ini_set("memory_limit", "256M"); 

你需要多少内存取决于你在做什么。一个典型的网站将不再需要那么多。32MB听起来不错。有些进程可能需要更多的内存,例如调整上传的图片或生成统计数据。

高流量不会影响PHP对al的支持找到内存,这是操作系统的问题。您的网络服务器限制了它拥有的工作人员数量,因此如果尝试采取一切行动,PHP可以使用多少内存。虽然它可能会让事情变得非常缓慢。