У меня есть выделенный сервер с 16 ГБ ОЗУ с Xeon E5504 (8 ядер @ 2.0GHZ), работающий с Centos 7. Я запустил верхнюю команду и вижу, что 7 ядер близки к бездействию большую часть времени, а затем одно ядро выходит из строя. Я вижу, что оно превышает 100%, чего я не понимаю.
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16479600 total, 1233968 free, 616824 used, 14628808 buff/cache
KiB Swap: 523260 total, 499720 free, 23540 used. 15342640 avail Mem
Сервер используется только как веб-хост. Apache, MySQL и PHP. Я не внес никаких изменений в apache из его конфигурации по умолчанию. Я слышал, что конфигурация apache по умолчанию поддерживает несколько потоков, но это явно не так.
mysqld и httpd - единственные вещи, использующие большое количество ресурсов. Всего apache получает около 100 тысяч запросов в неделю. Более чем достаточно для этого сервера, но по мере того, как я продолжаю добавлять больше сайтов, я не хочу замедлять его, поскольку все находится на одном процессоре.
Я прочитал об этом, и кажется, что "prefork" нужно изменить в чтобы Apache занимал больше ресурсов. Я выполнил следующую команду, чтобы увидеть конфигурацию по умолчанию, и это не похоже на то, что prefork даже установлен
/usr/sbin/apachectl -l
Compiled in modules:
core.c
mod_so.c
http_core.c
Я не знаю, как протестировать систему, чтобы узнать, какая конфигурация сейчас используется и почему используется только одно ядро. Я не заметил значительного увеличения производительности при переносе сайтов с одноядерного VPS низкого уровня на этот сервер, поэтому я беспокоюсь, что что-то не так с конфигурацией.
Я проверил /etc/http/conf/httpd.conf, и все это виртуальные хосты. Нет никаких строк, относящихся к максимальному количеству клиентов и другим значениям, которые я видел людьми, использовавшимися в предварительном запросе if.
Топ говорит, что ваша система ничего не делает, так как на 100% простаивает.
Поля имеют следующее значение и не указывают конкретные ядра.
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor