В процессоре Centos 6.5, 3 процессора общей 9 ГГц, 8 ГБ оперативной памяти, Plesk 12. PHP 5.4.36, Apache/2.2.15, Apache запускает PHP как модуль PHP, XCache 3.2.0.
В настоящее время я вижу 180-200 одновременных посетителей в популярные часы. 40-50 одновременных посетителей в среднем.
Текущие значения httpd.conf:
Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
Значения xcache.ini:
xcache.size 24M
xcache.count 1
xcache.slots 8K
xcache.var_size 1M
xcache.var_count 1
Скриншот xcache 1
Скриншот xcache 2
Я проверяю, что я могу сделать больше для оптимизации Apache. Я проверил top
состояние, вот так:
Изображение результатов
Обратите внимание, что каждый процесс Apache занимает 55-100 мб, где общая память для каждого процесса httpd составляет 18 м.
Мне любопытно, что отключение некоторых модулей Apache является хорошим или плохим.
Из-за XCache важно ли отключать неиспользуемые модули?
Или не логично их отключать, потому что в пиковые времена система создает 30-32 httpd-процессов, и это не занимает слишком много?
В настоящее время активные модули apache выглядят так: screenshot
httpd process 'memory, cpu и count graph
Редактировать:
Я перезапустил httpd-процесс и вижу следующие значения: top image
Обратите внимание, что средний процесс httpd снизился на 67 мб до 34 мб.
Из очень ограниченной информации, которую вы предоставили, возможно, есть несколько вещей, которые заставили бы ваш сайт идти быстрее, но вы не можете использовать VIRT, RES и SHRD для измерения использования каждой памяти процесса.
Удаление модулей, которые вам не нужны, окажет очень незначительное влияние на использование памяти - но это хорошая практика, так как это сильно влияет на безопасность. Независимо от того, используете ли вы xcache, не имеет значения.
KeepAliveTimeout 15
Это просто глупо.
Поскольку ваши keepalives отключены, это ничего не делает. Если бы они были включены, у вас было бы LOTS процессов httpd, висящих на соединениях сокетов без трафика. Он должен быть не более 3 (и предполагается, что у вас много клиентов на очень медленных подключениях). Если ваш сайт особенно тяжелый AJAX, тогда используйте прокси-сервер, основанный на событиях, перед Apache.
Хотя я приветствую разнообразие программного обеспечения с открытым исходным кодом, я бы поставил под вопрос, работает ли xcache с PHP 5.6.