来自http://httpd.apache.org/docs/2.2/misc/perf-tuning.html
影响网络服务器性能的最大硬件问题是 RAM。网络服务器永远不必交换,因为交换会增加每个请求的延迟,超出用户认为“足够快”的程度。这会导致用户停止并重新加载,从而进一步增加负载。您可以并且应该控制 MaxClients 设置,这样您的服务器就不会产生太多的子项而开始交换。执行此操作的过程很简单:通过诸如 top 之类的工具查看您的进程列表,确定您的平均 Apache 进程的大小,并将其划分为您的总可用内存,为其他进程留出一些空间。
主要问题是我不明白如何知道大小,因为,我的 httpd 大小不再是 3888
但是,如果我们需要确定 MaxClients 的数量,并且我有 4GB 的 RAM,那么我得到:972,那么我应该在 MaxClients 中使用 900 吗?
首先,确定其中一个 Apache 进程的 PID。
然后你可以做这样的事情:
cat /proc/PIDHERE/status | grep VmRSS
这将产生该特定进程的(当前)常驻集大小,类似于:
VmRSS: 304456 kB
这个值听上去就是驻留在 RAM 中的进程的大小。
然后标准化您的度量单位 ( 4GB * 1024 * 1024 = 4,194,304 KB
)。划分:
4194304 KB / 304456 KB = 13.77 processes
考虑到您的系统上可能还有其他进程正在运行也会消耗内存,理想情况下您希望最小化交换,因此您可能不希望配置 13 个 Apache MaxClients(使用我的数字),您希望少一些(由您决定) )。
这是一个粗略的估计;您的 Apache 进程的大小可能会随着时间的推移而增长,具体取决于负载。
归档时间: |
|
查看次数: |
22585 次 |
最近记录: |