Привет,
У меня есть сайт WP с более чем 150 000 просмотров страниц в день.
Он работает на процессоре Intel Core i5 760 @ 2,80 ГГц с Centos и 4 ГБ оперативной памяти.
Проблема в том, что WP потребляет слишком много оперативной памяти, и через некоторое время подача перегружается, и оперативная память заканчивается. Я пробовал много настроек Apache, но ничего не работает. После перезапуска Apache сайт будет работать без сбоев, но через час или два он снова будет перегружен.
Есть ли у кого-нибудь из вас, ребята, какой-нибудь совет, который поможет мне?
Кстати, я использую WP-Super Cache.
ОБНОВЛЕНИЕ: дополнительная информация
Вот мой список плагинов:
- Акисмет
- Контактная форма 7
- Зеркало домена
- Более быстрая вставка изображения
- Интенсивные дебаты
- Менеджер ролей
- Сексуальные закладки
- Умный Ютуб
- Звездный рейтинг для отзывов
- Миниатюра для отрывков
- WP-опросы
- WP-SWFОбъект
- WP Супер Кэш
Что касается твиков, я попробовал несколько советов отсюда
Мои настройки:
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 200
MaxRequestsPerChild 1000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 1000
</IfModule>
Timeout 120 KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
Также вот мой my.cnf
[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ОБНОВИТЬ
Вот мое текущее использование памяти
ps -ylC httpd --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 504 8446 8444 0 78 0 7884 59507 554050 ? 00:00:00 httpd
S 504 29164 8444 0 78 0 13380 87043 - ? 00:00:00 httpd
S 504 29268 8444 0 75 0 13396 87043 429493 ? 00:00:00 httpd
S 504 29294 8444 0 75 0 13396 87043 - ? 00:00:00 httpd
S 504 29255 8444 0 75 0 13400 87043 - ? 00:00:00 httpd
S 504 29269 8444 0 76 0 13400 87043 387946 ? 00:00:00 httpd
S 504 29256 8444 0 75 0 13404 87043 - ? 00:00:00 httpd
S 504 29265 8444 0 75 0 13404 87043 - ? 00:00:00 httpd
S 504 29288 8444 0 75 0 13404 87043 429493 ? 00:00:00 httpd
S 504 28644 8444 0 75 0 13484 87043 - ? 00:00:00 httpd
S 504 29293 8444 0 75 0 13484 87043 semtim ? 00:00:00 httpd
S 504 27280 8444 0 75 0 13496 87043 - ? 00:00:00 httpd
S 504 28332 8444 0 75 0 13500 87043 - ? 00:00:00 httpd
S 504 27762 8444 0 75 0 13504 87043 - ? 00:00:00 httpd
S 504 28645 8444 0 75 0 13504 87043 - ? 00:00:00 httpd
S 504 29242 8444 0 75 0 13508 87043 - ? 00:00:00 httpd
S 504 28199 8444 0 75 0 13512 87043 429493 ? 00:00:00 httpd
S 504 28195 8444 0 75 0 13528 87043 - ? 00:00:00 httpd
S 504 28197 8444 0 75 0 13528 87043 429493 ? 00:00:00 httpd
S 504 27245 8444 0 75 0 13536 87043 - ? 00:00:00 httpd
S 504 28196 8444 0 75 0 13536 87043 - ? 00:00:00 httpd
S 504 27756 8444 0 75 0 13540 87043 - ? 00:00:00 httpd
S 504 27969 8444 0 75 0 13540 87043 - ? 00:00:00 httpd
S 504 27074 8444 0 75 0 13544 87043 - ? 00:00:00 httpd
S 504 27279 8444 0 75 0 13544 87043 - ? 00:00:00 httpd
S 504 27926 8444 0 75 0 13548 87043 - ? 00:00:00 httpd
S 504 28191 8444 0 75 0 13548 87043 semtim ? 00:00:00 httpd
S 504 28673 8444 0 75 0 13548 87043 - ? 00:00:00 httpd
S 504 27089 8444 0 75 0 13552 87043 - ? 00:00:00 httpd
S 504 27825 8444 0 75 0 13552 87043 - ? 00:00:00 httpd
S 504 27974 8444 0 75 0 13552 87043 - ? 00:00:00 httpd
S 504 28330 8444 0 75 0 13552 87043 - ? 00:00:00 httpd
S 504 26051 8444 0 75 0 13556 87043 - ? 00:00:00 httpd
S 504 28343 8444 0 75 0 13556 87043 - ? 00:00:00 httpd
S 504 26822 8444 0 75 0 13560 87043 - ? 00:00:00 httpd
S 504 27975 8444 0 75 0 13560 87043 - ? 00:00:00 httpd
S 504 28662 8444 0 75 0 13560 87043 - ? 00:00:00 httpd
S 504 24949 8444 0 75 0 13564 87043 - ? 00:00:00 httpd
S 504 28639 8444 0 75 0 13564 87043 - ? 00:00:00 httpd
S 504 24924 8444 0 75 0 13572 87043 - ? 00:00:00 httpd
S 504 27826 8444 0 75 0 13572 87043 - ? 00:00:00 httpd
S 504 28192 8444 0 75 0 13572 87043 - ? 00:00:00 httpd
S 504 28683 8444 0 76 0 13572 87043 - ? 00:00:00 httpd
S 504 19032 8444 0 75 0 13576 87043 - ? 00:00:00 httpd
S 504 26832 8444 0 75 0 13576 87043 - ? 00:00:00 httpd
S 504 28186 8444 0 75 0 13580 87043 - ? 00:00:00 httpd
S 504 24940 8444 0 75 0 13584 87043 - ? 00:00:00 httpd
S 504 27883 8444 0 75 0 13584 87043 - ? 00:00:00 httpd
S 504 27962 8444 0 75 0 13588 87043 - ? 00:00:00 httpd
S 504 28331 8444 0 75 0 13588 87043 - ? 00:00:00 httpd
S 504 18521 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 24291 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 24307 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 26503 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 26510 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 27100 8444 0 75 0 13592 87043 - ? 00:00:00 httpd
S 504 27248 8444 0 75 0 13592 87043 429493 ? 00:00:00 httpd
S 504 28344 8444 0 75 0 13592 87043 429493 ? 00:00:00 httpd
S 504 24952 8444 0 75 0 13596 87043 - ? 00:00:00 httpd
S 504 26588 8444 0 75 0 13596 87043 - ? 00:00:00 httpd
S 504 27065 8444 0 75 0 13596 87043 - ? 00:00:00 httpd
S 504 27102 8444 0 75 0 13600 87043 - ? 00:00:00 httpd
S 504 27104 8444 0 75 0 13600 87043 429493 ? 00:00:00 httpd
S 504 27474 8444 0 75 0 13600 87043 429493 ? 00:00:00 httpd
S 504 27763 8444 0 75 0 13600 87043 - ? 00:00:00 httpd
S 504 23657 8444 0 75 0 13604 87043 - ? 00:00:00 httpd
S 504 24311 8444 0 75 0 13604 87043 - ? 00:00:00 httpd
S 504 24790 8444 0 75 0 13604 87043 - ? 00:00:00 httpd
S 504 25731 8444 0 75 0 13604 87043 - ? 00:00:00 httpd
S 504 27087 8444 0 75 0 13604 87043 - ? 00:00:00 httpd
S 504 24473 8444 0 75 0 13608 87043 - ? 00:00:00 httpd
S 504 27976 8444 0 75 0 13612 87043 - ? 00:00:00 httpd
S 504 28163 8444 0 75 0 13620 87043 - ? 00:00:00 httpd
S 504 29266 8444 0 75 0 14204 87043 - ? 00:00:00 httpd
S 504 17701 8444 0 75 0 14392 87043 - ? 00:00:00 httpd
S 504 27881 8444 0 75 0 14408 87043 - ? 00:00:00 httpd
S 504 26593 8444 0 75 0 14412 87043 - ? 00:00:00 httpd
S 504 27072 8444 0 76 0 14428 87043 - ? 00:00:00 httpd
S 504 17704 8444 0 75 0 15028 87043 - ? 00:00:00 httpd
S 504 28674 8444 0 75 0 17076 87299 - ? 00:00:00 httpd
S 504 23649 8444 0 75 0 17180 87299 - ? 00:00:00 httpd
S 504 21484 8444 0 75 0 17232 87299 429493 ? 00:00:00 httpd
S 504 24034 8444 0 75 0 17240 87299 - ? 00:00:00 httpd
S 504 24941 8444 0 75 0 17248 87299 - ? 00:00:00 httpd
S 504 27058 8444 0 75 0 17256 87299 - ? 00:00:00 httpd
S 504 24766 8444 0 75 0 17272 87299 - ? 00:00:00 httpd
S 504 28333 8444 0 75 0 17284 87299 semtim ? 00:00:00 httpd
S 504 20565 8444 0 75 0 17296 87299 semtim ? 00:00:00 httpd
S 504 25462 8444 0 75 0 17296 87299 - ? 00:00:00 httpd
S 504 28201 8444 0 75 0 17296 87299 - ? 00:00:00 httpd
S 504 28202 8444 0 75 0 17316 87299 - ? 00:00:00 httpd
S 504 27968 8444 0 75 0 17328 87299 - ? 00:00:00 httpd
S 504 27973 8444 0 75 0 17328 87299 - ? 00:00:00 httpd
S 504 24091 8444 0 75 0 17336 87299 429493 ? 00:00:00 httpd
S 504 28329 8444 0 75 0 17344 87299 - ? 00:00:00 httpd
S 504 27885 8444 0 75 0 17352 87299 - ? 00:00:00 httpd
S 504 21556 8444 0 75 0 17356 87299 semtim ? 00:00:00 httpd
S 504 24121 8444 0 75 0 17356 87299 429493 ? 00:00:00 httpd
S 504 24929 8444 0 75 0 17356 87299 - ? 00:00:00 httpd
S 504 27918 8444 0 75 0 17356 87299 - ? 00:00:00 httpd
S 504 24778 8444 0 75 0 17360 87299 - ? 00:00:00 httpd
S 504 27075 8444 0 75 0 17360 87299 - ? 00:00:00 httpd
S 504 20603 8444 0 75 0 17364 87299 - ? 00:00:00 httpd
S 504 24031 8444 0 75 0 17364 87299 429493 ? 00:00:00 httpd
S 504 24791 8444 0 75 0 17364 87299 - ? 00:00:00 httpd
S 504 26509 8444 0 75 0 17364 87299 - ? 00:00:00 httpd
S 504 27249 8444 0 75 0 17364 87299 - ? 00:00:00 httpd
S 504 24148 8444 0 75 0 17372 87299 - ? 00:00:00 httpd
S 504 24777 8444 0 75 0 17372 87299 - ? 00:00:00 httpd
S 504 24472 8444 0 75 0 17392 87299 semtim ? 00:00:00 httpd
S 504 24789 8444 0 75 0 17432 87299 429493 ? 00:00:00 httpd
S 504 27066 8444 0 75 0 17432 87299 429493 ? 00:00:00 httpd
S 504 27106 8444 0 75 0 17452 87299 - ? 00:00:00 httpd
S 504 26508 8444 0 75 0 17472 87299 - ? 00:00:00 httpd
S 504 24168 8444 0 75 0 17488 87299 - ? 00:00:00 httpd
S 504 22355 8444 0 75 0 17492 87299 - ? 00:00:00 httpd
S 504 23656 8444 0 75 0 17844 87555 - ? 00:00:00 httpd
S 504 27088 8444 0 75 0 17888 87555 - ? 00:00:00 httpd
S 504 28198 8444 0 75 0 17900 87555 - ? 00:00:00 httpd
S 504 26694 8444 0 75 0 17960 87555 - ? 00:00:00 httpd
S 0 8444 1 0 78 0 20276 87043 - ? 00:00:00 httpd
S 504 27271 8444 0 75 0 28796 90883 - ? 00:00:00 httpd
S 504 19949 8444 0 75 0 28888 90883 - ? 00:00:00 httpd
S 504 25736 8444 0 75 0 29840 91395 - ? 00:00:00 httpd
S 504 27086 8444 0 75 0 29848 91395 - ? 00:00:00 httpd
S 504 26606 8444 0 75 0 29856 91395 429493 ? 00:00:00 httpd
S 504 24159 8444 0 75 0 29876 91395 - ? 00:00:00 httpd
S 504 26821 8444 0 75 0 29876 91395 - ? 00:00:00 httpd
S 504 26815 8444 0 75 0 29932 91395 - ? 00:00:00 httpd
S 504 27418 8444 0 75 0 29940 91395 - ? 00:00:00 httpd
S 504 27426 8444 0 75 0 29944 91395 semtim ? 00:00:00 httpd
S 504 27468 8444 0 75 0 29948 91395 - ? 00:00:00 httpd
S 504 26587 8444 0 75 0 29952 91395 - ? 00:00:00 httpd
S 504 24486 8444 0 75 0 29956 91395 semtim ? 00:00:00 httpd
S 504 24951 8444 0 75 0 29956 91395 429493 ? 00:00:00 httpd
S 504 24180 8444 0 75 0 29960 91395 - ? 00:00:00 httpd
S 504 24305 8444 0 75 0 29972 91395 - ? 00:00:00 httpd
S 504 24467 8444 0 75 0 30008 91395 - ? 00:00:00 httpd
S 504 26507 8444 0 75 0 30032 91395 semtim ? 00:00:00 httpd
S 504 24460 8444 0 75 0 30056 91651 - ? 00:00:00 httpd
S 504 23669 8444 0 75 0 30076 91395 - ? 00:00:00 httpd
S 504 26580 8444 0 75 0 30088 91651 - ? 00:00:00 httpd
S 504 23112 8444 0 75 0 30172 91395 - ? 00:00:00 httpd
S 504 26607 8444 0 75 0 30192 91395 - ? 00:00:00 httpd
S 504 24772 8444 0 75 0 30212 91395 - ? 00:00:00 httpd
S 504 24942 8444 0 75 0 30216 91395 - ? 00:00:00 httpd
S 504 24167 8444 0 75 0 30220 91395 - ? 00:00:00 httpd
S 504 26478 8444 0 75 0 30228 91395 - ? 00:00:00 httpd
S 504 24184 8444 0 75 0 30260 91395 429493 ? 00:00:00 httpd
S 504 27425 8444 0 75 0 30292 91395 - ? 00:00:00 httpd
S 504 22348 8444 0 75 0 30388 91651 - ? 00:00:00 httpd
S 504 26605 8444 0 75 0 30396 91651 - ? 00:00:00 httpd
S 504 22678 8444 0 75 0 30420 91395 - ? 00:00:00 httpd
S 504 24489 8444 0 75 0 30452 91395 153384 ? 00:00:00 httpd
S 504 24296 8444 0 75 0 30480 91395 - ? 00:00:00 httpd
S 504 24095 8444 0 75 0 30600 91651 - ? 00:00:00 httpd
S 504 23085 8444 0 75 0 30688 91651 - ? 00:00:00 httpd
S 504 19586 8444 0 75 0 30768 91395 - ? 00:00:00 httpd
S 504 24182 8444 0 75 0 30768 91395 - ? 00:00:00 httpd
S 504 18511 8444 0 75 0 30820 91395 - ? 00:00:00 httpd
S 504 26594 8444 0 75 0 30836 91395 - ? 00:00:00 httpd
S 504 13358 8444 0 75 0 30856 91651 - ? 00:00:00 httpd
S 504 17681 8444 0 75 0 30988 91395 - ? 00:00:00 httpd
S 504 22336 8444 0 75 0 31016 91651 - ? 00:00:00 httpd
S 504 15690 8444 0 75 0 31040 91395 - ? 00:00:00 httpd
S 504 22718 8444 0 75 0 31072 91651 - ? 00:00:00 httpd
S 504 19043 8444 0 75 0 31080 91395 - ? 00:00:00 httpd
S 504 12815 8444 0 75 0 31108 91651 - ? 00:00:00 httpd
S 504 23301 8444 0 75 0 31112 91395 - ? 00:00:00 httpd
S 504 24183 8444 0 75 0 31164 91395 - ? 00:00:00 httpd
S 504 22670 8444 0 75 0 31180 91395 - ? 00:00:00 httpd
S 504 22327 8444 0 75 0 31216 91651 - ? 00:00:00 httpd
S 504 21489 8444 0 75 0 31220 91395 - ? 00:00:00 httpd
S 504 21474 8444 0 75 0 31284 91395 - ? 00:00:00 httpd
S 504 21596 8444 0 75 0 31296 91651 - ? 00:00:00 httpd
S 504 22690 8444 0 75 0 31448 91395 - ? 00:00:00 httpd
S 504 26595 8444 0 75 0 31452 91651 429493 ? 00:00:00 httpd
S 504 20312 8444 0 75 0 31476 91651 429493 ? 00:00:00 httpd
S 504 24313 8444 0 75 0 31592 91397 - ? 00:00:00 httpd
S 504 24179 8444 0 75 0 31696 91395 - ? 00:00:00 httpd
S 504 22369 8444 0 76 0 31732 88329 - ? 00:00:00 httpd
S 504 13373 8444 0 75 0 31768 91395 429493 ? 00:00:00 httpd
S 504 17667 8444 0 75 0 31960 91651 429493 ? 00:00:00 httpd
S 504 18517 8444 0 75 0 32012 91651 - ? 00:00:00 httpd
S 504 7793 8444 0 75 0 32040 91651 - ? 00:00:00 httpd
S 504 17658 8444 0 75 0 32116 91395 - ? 00:00:00 httpd
S 504 27272 8444 0 75 0 32224 91395 - ? 00:00:00 httpd
S 504 13901 8444 0 75 0 32784 91395 - ? 00:00:00 httpd
S 504 15366 8444 0 75 0 33168 91651 - ? 00:00:00 httpd
S 504 24577 8444 0 75 0 33256 88085 - ? 00:00:00 httpd
S 504 14330 8444 0 75 0 34192 91651 - ? 00:00:00 httpd
S 504 15155 8444 0 75 0 34296 91395 - ? 00:00:00 httpd
S 504 16312 8444 0 75 0 34496 91395 - ? 00:00:00 httpd
S 504 28194 8444 0 75 0 36996 88848 - ? 00:00:00 httpd
S 504 24776 8444 0 75 0 43720 92169 429493 ? 00:00:00 httpd
S 504 20584 8444 0 75 0 44224 92169 - ? 00:00:00 httpd
S 504 22331 8444 0 75 0 44636 91913 - ? 00:00:00 httpd
S 504 24033 8444 0 75 0 45496 91664 - ? 00:00:00 httpd
S 504 22375 8444 0 75 0 46320 91664 - ? 00:00:00 httpd
S 504 22378 8444 0 75 0 50064 91664 - ? 00:00:00 httpd
S 504 24481 8444 0 75 0 53836 93968 - ? 00:00:00 httpd
S 504 22354 8444 0 75 0 62124 93962 - ? 00:00:00 httpd
Это меняет то, что вы мне порекомендуете?
Всегда полезно упомянуть, какие другие плагины, которые вы используете, такие как карты сайта xml, материалы SEO, сканирование вредоносных программ, связанные сообщения и т. д., могут убить ваш сервер.
+1 к тому, что сказал @Wyck. Почти все проблемы с производительностью и памятью, которые я вижу, являются результатом неправильного поведения плагина.
Можете ли вы также перечислить настройки Apache, которые вы пробовали, а также содержимое вашего файла my.cnf и вашего файла httpd.conf. Распространенной проблемой Apache является установка максимального количества запросов и максимального количества запросов на одного ребенка, и они никогда не умирают, а просто потребляют оперативную память.
Как сказал @Anu ниже, ваши максимальные клиенты и MaxRequest для каждого ребенка, вероятно, установлены на высоком уровне. Попробуйте уменьшить максимальное количество клиентов до 125, а MaxRequestPerChild примерно до 500. Также измените количество запросов MaxKeepAlive примерно до 50 и уменьшите время ожидания до 15 или 20.
wp-supercache теперь также поддерживает использование APC в качестве кеша объектов, однако как для общего кеша w3, так и для wp-supercache я наблюдал странное поведение с кэшированием объектов, особенно в контексте вошедших в систему пользователей. Не уверен, что это что-то о моем сайте, но обратите внимание на него и тщательно протестируйте!
Кроме того, хотя mysqltuner (а также установка mtop) полезен, я обнаружил, что наибольшее увеличение производительности произошло при включении ведения журнала медленных запросов, а затем с помощью EXPLAIN, чтобы понять, почему определенные запросы были медленными.
Очень хорошие моменты. Я забыл упомянуть о медленных журналах запросов. Tuning Primer скажет вам включить его, если вы его не используете.
голосуйте за xcache вместо APC, но строго за версию 1.3.x+
APC — это путь. Превосходит xcache во всех моих тестах, плюс в конечном итоге он будет включен в PHP.
да, из тестов, которые я видел, разница между APC и другими ускорителями операционного кода довольно минимальна, поэтому простота установки и тот факт, что APC вот-вот станет частью дистрибутива PHP (с PHP6), имеют большее значение для меня, но главное установить один из них!
Глядя на plesk, я вижу, что ТОЛЬКО ОС Apache чрезмерно использует память. Вся остальная система использует довольно мало памяти.
@souljacker никто не предполагает, что сам MySQL использует слишком много памяти (вполне вероятно, что вам действительно нужно увеличить доступную ему память). Но, если вы читаете то, что я написал, медленные SQL-запросы могут быть причиной проблем Apache OOM, поскольку Apache обрабатывает очередь, ожидающую ответа MySQL, и поэтому запускается больше процессов. Это не означает, что это ваша проблема — вам нужно провести расследование, чтобы выяснить, в чем проблема.
Вы также можете получить облегченный Apache, просто правильно настроив его. Не поймите меня неправильно, Nginx или любой другой легкий веб-сервер, такой как lighthttpd, отлично подходят. Я советую использовать Apache для динамического контента и Nginx/lighthttpd для статического контента.
лучше всего было бы, если бы WordPress был переписан на C servlets grin Для динамического/статического: я ослеплен 1000 сообщениями в блогах в день о различиях, и я просто хочу поддерживать 1 веб-сервер, проще.
Я согласен с вами здесь. Поддерживать один веб-сервер по-прежнему проще, чем два. Но вместо того, чтобы ломать Apache и устанавливать новый веб-сервер только потому, что он «быстрее» в конфигурации по умолчанию, это не просто ответ.
@Roman WĂźnsche, возможно, вы могли бы поделиться несколькими советами о том, как получить облегченную конфигурацию Apache, которая превзойдет nginx?
@Roman WĂźnsche Это именно то, что я пытаюсь сделать, но это еще не сработало.
Ответы только по ссылкам считаются некачественными. Пожалуйста, используйте их только для того, чтобы доказать, что ваши утверждения подкреплены кем-то другим. Призовите их в свой ответ.
Соулджекер,
Я бы сначала посмотрел на ваши плагины. Звездные рейтинги для обзоров не обновлялись более 3 лет и похоже, что это очень тяжело для БД. Я видел какой-то необработанный sql с некоторыми ВНУТРЕННИМИ СОЕДИНЕНИЯМИ, которые выглядят хлопотно.
На стороне сервера вы должны реализовать кэширование объектов. APC является стандартом де-факто и даст вам наилучшие результаты.
Как только вы установите APC, переключитесь на W3 Total Cache или Mark Jaquith’s APC Object Cache Backend, чтобы в полной мере воспользоваться его преимуществами.
Ваши настройки httpd.conf выглядят нормально. Судя по вашему файлу my.cnf, вы не используете кэширование запросов MySQL, кэширование потоков или управление размерами буфера.
Вы можете использовать сценарий настройки, чтобы помочь вам с конфигурацией my.cnf. Мне нравится использовать mysqltuner, и учебник по настройке также очень хорош.
Mysqltuner выведет предложения и даст вам несколько рекомендаций по настройке в зависимости от использования вашей базы данных.
На моем сервере с 12G Ram мои настройки выглядят так. (Просто пример не используйте эти настройки!!!)
Как и другие упоминали, запуск Nginx резко снизит нагрузку на ваш сервер, если вы готовы принять конфигурации и т. Д. Я написал руководство о том, как установить и настроить Apache с Nginx в качестве обратного прокси-сервера.
Надеюсь это поможет.
Взгляните сюда: Советы по производительности для большой пользовательской базы — это полезный набор вещей, на которые стоит обратить внимание, помимо Apache.
При поиске оптимизации производительности очень важно смотреть на всю инфраструктуру, чтобы увидеть, где у вас могут быть проблемы — например, на одном из моих сайтов я в конце концов отследил проблему, которая изначально выглядела как проблема Apache (apache не хватает памяти при средней load) к медленному SQL-запросу, который был исправлен добавлением дополнительного индекса в таблицу комментариев.
Кроме того, установите APC или какой-либо другой кэш кода операции PHP.
[Обновлять]
Вполне вероятно, что ваш параметр MaxClients может быть слишком высоким — если все 200 процессов активны и если они в среднем занимают около 20 МБ на процесс, это ваши 4 ГБ израсходованы, не принимая во внимание MySQL и все другие процессы. Уменьшите значение параметра MaxCients и продолжайте исследовать, в чем заключается ваша реальная проблема.
Вы можете проверить, сколько памяти использует каждый процесс Apache:
(замените apache2 на httpd, если вы используете Ubuntu)
Сравните Nginx и Apache и сделайте выбор:
Я только что переключился с Apache на Nginx, и это заняло около 10 минут:
Готово.
Я также пошел на php-fpm в том же пути и около 20 минут работы:
Готово
(добавление файлов запуска /etc/init.d, где это необходимо)
Я сам не проводил тесты производительности, я просто слепо следую «остальным»
Выход за рамки этого ответа: я также планирую отказаться от MySQL и вместо этого использовать MariaDB (GPL).
Работа с конфигурациями prefork и worker — непростая вещь, изменение некоторых значений определенно поможет повысить производительность и сократить использование оперативной памяти, также помните, что apache резервирует часть оперативной памяти, это не означает, что у вас заканчивается оперативная память. Прочтите эту статью, чтобы получить лучшие советы по оптимизации.