Оптимизировать Apache для использования WP

10

Привет,

У меня есть сайт WP с более чем 150 000 просмотров страниц в день.

Он работает на процессоре Intel Core i5 760 @ 2.80 ГГц, с Centos и 4 ГБ оперативной памяти.

Проблема в том, что WP потребляет слишком много оперативной памяти, и через некоторое время сервер перезагружается и ОЗУ заканчивается. Я перепробовал множество твиков Apache, но, похоже, ничего не работает. После перезапуска сайт Apache будет работать нормально, но через час или два он снова будет перегружен.

У кого-нибудь из вас есть советы, которые помогут мне?

Кстати, я использую WP-Super Cache.

ОБНОВЛЕНИЕ: дополнительная информация

Вот мой список плагинов:

  • Akismet
  • Контактная форма 7
  • Доменное зеркало
  • Быстрая вставка изображения
  • Интенседебэйт
  • Ролевый менеджер
  • SexyBookmarks
  • Умный Youtube
  • Звездный рейтинг для отзывов
  • Миниатюра для отрывков
  • WP-Polls
  • WP-SWFObject
  • WP Super Cache

Что касается твиков, я попробовал несколько советов отсюда

Мои настройки:

 <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

Не изменишь ли ты то, что ты бы мне порекомендовал?

Souljacker
источник
Всегда полезно упомянуть, что другие плагины, которые вы используете, такие как xml sitemap, seo, сканирование на наличие вредоносных программ, связанные посты и т. Д., Могут убить ваш сервер.
Вик
+1 к тому, что сказал @Wyck. Почти все проблемы с производительностью и памятью, которые я вижу, являются результатом неправильного поведения плагина.
MikeSchinkel
Можете ли вы также перечислить настройки Apache, которые вы пробовали, и содержимое вашего файла my.cnf и вашего httpd.conf. Общая проблема с Apache - установить максимальное количество запросов и максимальное количество запросов на ребенка, и они никогда не отмирают и просто потребляют оперативную память.
Chris_O
Как сказал @Anu ниже, ваши максимальные клиенты и MaxRequest для каждого ребенка, вероятно, установлены на высокий уровень. Попробуйте понизить Max Clients до 125, а MaxRequestPerChild примерно до 500. Также измените ваши запросы MaxKeepAlive примерно до 50 и уменьшите время ожидания до 15 или 20.
Chris_O

Ответы:

5

Souljacker,

Я бы сначала взглянул на ваши плагины. Звездные рейтинги для обзоров не обновлялись более 3 лет и выглядят очень тяжело на БД. Я видел некоторые сырые sql с некоторыми внутренними соединениями, которые выглядят хлопотно.

На стороне сервера вы должны реализовать некоторое кэширование объектов. APC является стандартом defacto и даст вам лучшие результаты.

Как только вы установите APC, переключитесь на W3 Total Cache или Mark Jaquith APC Object Cache Backend, чтобы в полной мере использовать его.

Ваши настройки httpd.conf выглядят хорошо. Судя по вашему my.cnf, вы не пользуетесь кэшированием запросов MySQL, кэшированием потоков или управлением буферами любого размера.

Вы можете использовать скрипт настройки, чтобы помочь вам с вашей конфигурацией my.cnf. Мне нравится использовать mysqltuner, и настройка праймера тоже очень хороша.

Mysqltuner выведет предложения и даст некоторые рекомендации по настройке в зависимости от использования вашей базы данных.

На моем сервере с 12G Ram мои настройки выглядят так. (Просто пример, не используйте эти настройки !!!)

key_buffer              = 512M
max_allowed_packet      = 32M
thread_stack            = 1M
thread_cache_size   = 128M

myisam-recover         = BACKUP
max_connections        = 60
table_cache            = 5000
table_definition_cache = 1024
thread_concurrency     = 16

# * Query Cache Configuration

query_cache_type        = 1
query_cache_limit       = 4M
query_cache_size        = 48M
max_heap_table_size     = 512M
tmp_table_size          = 512M
join_buffer_size        = 3M
sort_buffer_size        = 8M
read_buffer_size        = 8M
read_rnd_buffer_size    = 8M
myisam_sort_buffer_size =16M


log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 1

Как уже упоминали другие, запуск Nginx значительно снизит нагрузку на ваш сервер, если вы решите заняться настройками и т. Д. Я написал руководство по установке и настройке Apache с Nginx в качестве обратного прокси-сервера.

Надеюсь это поможет.

Chris_O
источник
wp-supercache теперь также поддерживает использование APC в качестве кеша объектов - однако как для общего кеша w3, так и для wp-supercache я видел странное поведение с кешированием объектов, особенно в контексте зарегистрированных пользователей. Не уверен, что это что-то о моем сайте, но не забывайте об этом и проводите тщательное тестирование!
ана
Кроме того, хотя mysqltuner (а также установка mtop) полезен, я обнаружил, что наибольшее увеличение производительности произошло за счет включения медленной регистрации запросов, а затем использования EXPLAIN, чтобы понять, почему некоторые запросы были медленными.
ана
Очень хорошие очки. Я забыл упомянуть медленные журналы запросов. Учебник по настройке скажет вам, чтобы включить его, если вы не используете его.
Chris_O
2

Посмотрите здесь: Советы по повышению производительности для большой пользовательской базы - это полезный набор вещей, выходящий за рамки только Apache.

При поиске оптимизации производительности, очень важно взглянуть на всю инфраструктуру, чтобы увидеть, где у вас могут быть проблемы - например, на одном из моих сайтов я в конечном итоге обнаружил проблему, которая изначально выглядела как проблема Apache (apache исчерпал память под средой load) к медленному запросу SQL, который был исправлен добавлением дополнительного индекса в таблицу комментариев.

Кроме того, установите APC или другой кэш кода операции PHP.

[Обновить]

Вполне вероятно, что ваш параметр MaxClients может быть слишком высоким - если все 200 процессов активны и если они составляют в среднем около 20 МБ на процесс, это ваши 4 ГБ, использованные без учета MySQL и всех других процессов. Уменьшите настройку MaxCients и продолжайте исследовать, где ваша настоящая проблема.

Вы можете проверить, сколько памяти использует каждый процесс Apache:

ps -ylC httpd --sort:rss

(замените apache2 на httpd, если вы используете Ubuntu)

ана
источник
голосуйте за xcache вместо APC, но строго за версию 1.3.x +
petermolnar
APC - это путь. Превосходит xcache во всех моих тестах, плюс он в конечном итоге будет включен в PHP.
Chris_O
да, из тестов, которые я видел, разница между APC и другими ускорителями op-кода довольно минимальна, поэтому простота установки и тот факт, что APC вот-вот станет частью PHP-дистрибутива (с PHP6), имеют большее значение для мне, но главное установить один из них!
ана
Глядя на plesk, я вижу ТОЛЬКО Apache с чрезмерным использованием памяти. Вся остальная часть системы использует довольно мало памяти.
Souljacker
@souljacker никто не предполагает, что MySQL сам использует слишком много памяти (вполне вероятно, что вам действительно потребуется увеличить доступную для него память). Но, если вы прочитаете то, что я написал, медленные запросы SQL могут быть причиной проблем Apache OOM, так как Apache обрабатывает очередь, ожидающую ответа MySQL, и, таким образом, запускается больше процессов. Это не означает, что это ваша проблема - вам нужно провести некоторое расследование, чтобы выяснить, где проблема.
ана
0

Сравните Nginx и Apache и сделайте выбор:

Я только что переключился с Apache на Nginx, и это заняло около 10 минут:

  1. скачать / установить Nginx (wget / yum install / apt-get / ...)
  2. измените файл конфигурации nginx, чтобы он указывал на ваш веб-каталог (см. примеры http://kbeezie.com/view/nginx-configuration-examples/ )
  3. начать nginx

сделанный.

Я также пошел в php-fpm в том же самом ходу и около 20 минут работы:

  1. скачать php
  2. сконфигурируйте с необходимыми библиотеками (например, suhosin) (или измените код c с помощью собственных шалых сообщений) (не забудьте удалить специфичные для apache расширения и не забудьте включить zlib для установки / распаковки wp-плагинов из wp)
  3. настроить / сделать php
  4. изменить конфигурационный файл nginx для включения вызовов php-fpm
  5. запустите php-fpm и перезапустите nginx

сделанный

(при необходимости добавляя файлы запуска /etc/init.d)

Я сам не проводил тесты производительности, просто слепо следую «остальным»

Вне области для этого ответа: я также планирую отказаться от MySQL и использовать вместо него MariaDB (GPL).

edelwater
источник
Вы также можете получить легкий Apache только при правильной конфигурации. Не поймите меня неправильно, Nginx или любой другой легкий веб-сервер, такой как lighthttpd, великолепен. Я советую использовать Apache для динамического контента и Nginx / lighthttpd для статического контента.
rofflox
Лучше всего было бы, если бы WordPress был переписан на языке C-сервлетов. Усиление Для динамического / статического: я ослеплен 1000 постами в день на различиях, и я просто хочу поддерживать 1 веб-сервер, проще.
edelwater
Я согласен с вами здесь. Поддерживать один веб-сервер по-прежнему проще, чем два. Но вместо того, чтобы ломать Apache и устанавливать новый веб-сервер только потому, что он «быстрее» в конфигурации по умолчанию, это не просто ответ.
rofflox
@Romman Wünsche, возможно, вы могли бы поделиться некоторыми советами о том, как получить облегченную конфигурацию apache, которая превзойдет nginx?
ана
@Romman Wünsche Это именно то, что я пытаюсь сделать, но это еще не сработало
Souljacker
0

Работать с конфигурациями prefork и Worker довольно сложно, изменение некоторых значений определенно поможет повысить производительность и уменьшить использование ОЗУ, также помните, что apache резервирует некоторую ОЗУ, но это не означает, что у вас заканчивается ОЗУ. Проверьте эту статью для лучших советов по оптимизации.

Шарма
источник
1
Ссылка только на ответы считается плохим качеством. Пожалуйста, используйте их только для доказательства того, что ваши заявления подкреплены кем-то другим. Вызовите их в своем ответе.
Кайзер