Назад | Перейти на главную страницу

Пожалуйста, помогите мне снизить высокую загрузку процессора, сайт Wordpress

У меня есть выделенный сервер. С тех пор, как я обновил Wordpress до последней версии с 2.8.4, я вижу очень высокую загрузку процессора. Также обновил плагины. Использую wp super cache. Сжатие включено, срок действия кеша истекает через 10 дней. Более 45000 сообщений.

Использование памяти составляет всего 20%, могу ли я внести изменения, чтобы использование памяти могло увеличиться до 40%, но загрузка процессора должна снизиться?

Информация о сервере

8 ядер, всего:

Vendor        GenuineIntel
Name        Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
Speed        2933.533 MHz
Cache        8192 KB

Информация о памяти

Memory: (16 GB) 16391660k/17825792k available
        (2606k kernel code, 343628k reserved, 1665k data, 224k init)

Системная информация

Linux 2.6.18-274.17.1.el5 #1 SMP Tue Jan 10 17:25:58 EST 2012 x86_64 x86_64 x86_64 GNU/Linux

Server load     15.88 (8 CPUs)  
Memory Used     19.69% (3,227,356 of 16,394,544)    
Swap Used   0.01% (208 of 2,096,472)

Server Version: Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
Server Built: May 2 2012 09:35:50

Current Time: Wednesday, 02-May-2012 19:23:09 IST
Restart Time: Wednesday, 02-May-2012 09:48:43 IST
Parent Server Generation: 6
Server uptime: 9 hours 34 minutes 26 seconds
Total accesses: 5691409 - Total Traffic: 99.8 GB
CPU Usage: u103.95 s37.95 cu2261.29 cs0 - 6.97% CPU load
165 requests/sec - 3.0 MB/second - 18.4 kB/request
700 requests currently being processed, 0 idle workers

httpd.conf

keepalive is off

<module prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 15
ServerLimit 700
MaxClients 700
MaxRequestsPerChild 0
</IfModule>

max_connections=256
log-slow-queries = /tmp/slow.log
long_query_time = 1
thread_cache_size = 2512M
tmp_table_size = 4024M
max_heap_table_size = 4024M
query_cache_size = 24M
query_cache_limit = 72M
table_cache = 2048
table_open_cache = 1024
table_definition_cache = 1284M
key_buffer=1024M
read_buffer_size=24M
read_rnd_buffer_size=32M
sort_buffer_size=8M
thread_concurrency = 8 

попробуйте выяснить, какой процесс занимает большую часть времени процессора - вы можете начать просто с запущенной вершины. это apache2 [php + обслуживание контента] или это mysql? без такой базовой информации это просто догадки.

или, может быть, у вас просто высокая нагрузка, но процессор в основном простаивает [занят переключением между процессами или безумной подкачкой / ожиданием диска io]?

установить Мунин [или кактусы] и начните собирать статистику загрузки сервера ... это очень полезно, особенно если у вас есть исторические данные и вы можете легко увидеть, что изменилось по сравнению с предыдущим базовым уровнем.

если ваша высокая нагрузка на сервер вызвана большим количеством процессов apache - возможно, пришло время перейти на более эффективный сервер [например, nginx ] для сервера вашего статического контента [и потенциально динамического тоже].

ваша конфигурация mysql выглядит ... странно - похоже, у вас очень высокие значения для tmp_table_size, thread_cache_size и нескольких других значений. можешь попробовать: