我在互联网上找到的建议是MaxClients
根据您的平均 Apache 进程占用的 RAM 量来计算您的 Apache。只需浏览一下top
,对于我的网站来说,这个数字似乎在 650KB 左右。我有 32GB 的 RAM,MySQL 使用了大约 20GB。如果我只给 Apache 剩余内存的一半,即 6GB,那么我可以处理 ~9231 个 Apache 进程。
但是每个 Apache 进程都会生成一个 PHP 进程,不是吗?我的平均 PHP 进程大约为 40MB。如果我考虑到这一点,我得到大约 147 个进程。数字相差很大。有人能解释一下这个问题吗?
答案1
我相信随着时间的推移,Apache 进程的规模也会根据其他变量而增大。
您应该对网站进行负载测试,看看会发生什么。也许还可以为缓存/缓冲/余量保留一些内存。您不想开始交换。
看看这个: https://loadimpact.com/
和这个: http://junit.org/
我确信还有大量其他应用程序/服务可用于此目的。
- 已编辑
如果这个网站是准确的,它将有助于了解 apache 内存使用情况,并讨论 PHP 以及如何减少它的内存使用情况。
https://www.digitalocean.com/community/tutorials/how-to-optimize-apache-web-server-performance