首页 > 解决方案 > 如何显着减少 apache2 平均进程大小?

问题描述

当前配置:

16GO RAM,4 个 cpu 内核,Apache/2.2 使用 prefork 模块(设置为 700 maxClients,因为平均进程大小约为 18MB),启用了 suexec 和 suphp 模块(PHP 5.5)。

使用 CakePHP2 并存储在 MySQL 服务器上的站点后端。该站点由前面的文本/一些压缩图像和后面的数据处理组成。

我使用这个 shell 脚本来计算我的平均进程大小:

total_httpd_processes_size=`ps -ylC apache2 --sort:rss | awk '{ sum += $9 } END { print sum }'`                                                                               
total_http_processes_count=`ps -ylC apache2 --sort:rss | wc -l`
echo "total_http_processes_count=$total_http_processes_count"
AVG_httpd_process_size=$(expr $total_httpd_processes_size / $total_http_processes_count)
httpd_process_size_MB=$(expr $AVG_httpd_process_size / 1024)
echo "httpd_process_size_MB=$total_httpd_process_size_MB"

通过禁用未使用的 apache 模块,我赢得了 ~4mb,这非常好(从 22mb 到 18mb)。

我还能做些什么来显着减小 AVG 进程大小?

标签: memoryserverprocesswebserverapache2

解决方案


推荐阅读