Optimizar apache para el uso de WP

10

Saludos,

Tengo un sitio WP con más de 150k páginas vistas / día

Se ejecuta en una CPU Intel Core i5 760 @ 2.80GHz, con Centos y 4 GB de RAM.

El problema es que WP consume demasiada RAM y después de un tiempo se sobrecarga el servicio y se agota la RAM. He probado muchos tweeks de Apache pero nada parece funcionar. Después de reiniciar el sitio Apache funcionará sin problemas, pero después de una o dos horas se sobrecargará nuevamente.

¿Alguno de ustedes tiene algún consejo que me ayude?

Por cierto, estoy usando WP-Super Cache.

ACTUALIZACIÓN: información adicional

Aquí está mi lista de complementos:

  • Akismet
  • Formulario de contacto 7
  • Espejo de dominio
  • Insertar imagen más rápido
  • Debate intenso
  • Gerente de roles
  • SexyBookmarks
  • Youtube inteligente
  • Calificación de estrellas para comentarios
  • Miniatura para extractos
  • WP-Polls
  • WP-SWFObject
  • WP Super Cache

En cuanto a los tweeks, he intentado algunos consejos desde aquí.

Mi configuración es:

 <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

También aquí está mi 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

ACTUALIZAR

Aquí está mi uso actual de memoria

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

¿Eso cambia lo que me recomendarías?

Secuestrador de almas
fuente
Siempre es bueno mencionar qué otros complementos que está ejecutando, como mapas de sitio xml, cosas de SEO, escaneo de malware, publicaciones relacionadas, etc., pueden matar su servidor.
Wyck
+1 a lo que dijo @Wyck. Casi todos los problemas de rendimiento y memoria que veo son el resultado de un complemento que se comporta mal.
MikeSchinkel
¿Puede también enumerar los ajustes de Apache que ha probado y el contenido de su archivo my.cnf y su httpd.conf. Un problema común con Apache es establecer las solicitudes máximas y las solicitudes máximas por niño en alto y nunca mueren y solo consumen ram.
Chris_O 05 de
Como @Anu dijo a continuación, sus clientes máximos y MaxRequest por hijo probablemente estén configurados en alto. Intente reducir Max Clients a 125 y MaxRequestPerChild a alrededor de 500. También cambie sus solicitudes de MaxKeepAlive a alrededor de 50 y reduzca su Timeout a 15 o 20.
Chris_O

Respuestas:

5

Souljacker

Primero echaría un vistazo a sus complementos. Las clasificaciones de estrellas para revisiones no se han actualizado durante más de 3 años y parece que es realmente pesado en la base de datos. Vi algunos sql sin procesar con algunas UNIONES INTERIORES que parecen problemáticas.

En el lado del servidor, debe implementar el almacenamiento en caché de algunos objetos. APC es el estándar de facto y le dará los mejores resultados.

Una vez que instale APC, cambie a W3 Total Cache o Mark Jaquith's APC Object Cache Backend para aprovecharlo al máximo.

La configuración de httpd.conf se ve bien. Por el aspecto de su my.cnf, no aprovecha el almacenamiento en caché de consultas MySQL, el almacenamiento en caché de subprocesos ni el control de ninguno de los tamaños de búfer.

Puede usar un script de ajuste para ayudarlo con su configuración my.cnf. Me gusta usar mysqltuner y el manual de ajuste también es muy bueno.

Mysqltuner generará sugerencias y le dará algunas pautas sobre qué ajustar según el uso de su base de datos.

En mi servidor con 12G Ram mi configuración se ve así. (¡Solo un ejemplo, no use esta configuración!)

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

Como otros han mencionado, ejecutar Nginx reducirá drásticamente la carga en su servidor si está dispuesto a asumir las configuraciones, etc. Escribí un tutorial sobre cómo instalar y configurar Apache con Nginx como proxy inverso

Espero que esto ayude.

Chris_O
fuente
wp-supercache ahora también admite el uso de APC como caché de objetos; sin embargo, tanto para el caché total de w3 como para wp-supercache, he visto un comportamiento extraño con el almacenamiento en caché de objetos, especialmente en el contexto de los usuarios registrados. No estoy seguro de si esto es algo acerca de mi sitio, ¡pero cuídelo y pruebe exhaustivamente!
anu
Además, si bien mysqltuner (y también instalar mtop) es útil, descubrí que el mayor aumento de rendimiento se produjo al activar el registro lento de consultas y luego usar EXPLAIN para comprender por qué ciertas consultas fueron lentas.
anu
Muy buenos puntos. Olvidé mencionar los registros de consultas lentas. Tuning primer le dirá que lo encienda si no lo está usando.
Chris_O
2

Eche un vistazo aquí: consejos de rendimiento para una gran base de usuarios : es un conjunto útil de cosas que ver que van más allá de solo Apache.

Cuando se busca optimizar el rendimiento, es bastante importante mirar toda la infraestructura para ver dónde podría tener problemas; por ejemplo, en uno de mis sitios, finalmente rastreé un problema que inicialmente parecía un problema de Apache (Apache que se está quedando sin memoria en un medio cargar) a una consulta SQL lenta que se corrigió agregando un índice adicional a la tabla de comentarios.

Además, instale APC o alguna otra caché de código de operación PHP.

[Actualizar]

Es muy probable que la configuración de MaxClients sea demasiado alta: si los 200 procesos están activos y si promedian alrededor de 20 MB por proceso, esos son 4 GB usados, sin tener en cuenta MySQL y todos los demás procesos. Reduzca la configuración de MaxCients y continúe investigando dónde está su problema real.

Puede verificar cuánta memoria está usando cada proceso de Apache con esto:

ps -ylC httpd --sort:rss

(reemplace apache2 para httpd si está en Ubuntu)

anu
fuente
vote por xcache en lugar de APC, pero estrictamente versión 1.3.x +
petermolnar 05 de
APC es el camino a seguir. Supera xcache en todas mis pruebas y, finalmente, se incluirá con PHP.
Chris_O
sí, a partir de los puntos de referencia que he visto, la diferencia entre APC y otros aceleradores de código de operación es bastante mínima, por lo que la facilidad de instalación y el hecho de que APC esté a punto de convertirse en parte de la distribución de PHP (con PHP6) cuentan mucho más para yo, pero lo importante es instalar uno de ellos!
anu
Mirando plesk, veo SOLAMENTE Apache que sobreutiliza la memoria. Todo el resto del sistema está usando bastante poca memoria.
Souljacker
@souljacker, nadie sugiere que MySQL esté usando demasiada memoria (es muy probable que realmente necesite aumentar la memoria disponible). Pero, si lees lo que escribí, las consultas SQL lentas pueden ser una causa de problemas de Apache OOM, ya que los procesos de Apache hacen cola esperando que MySQL responda, y así se aceleran más procesos. Eso no significa que sea tu problema, tendrás que investigar un poco para averiguar dónde está el problema.
anu
0

Compare Nginx y Apache y elija:

Acabo de cambiar de Apache a Nginx y son unos 10 minutos de trabajo:

  1. descargar / instalar Nginx (wget / yum install / apt-get / ...)
  2. cambie el archivo de configuración de nginx para que apunte a su directorio web (consulte los ejemplos http://kbeezie.com/view/nginx-configuration-examples/ )
  3. iniciar nginx

hecho.

También fui a php-fpm en el mismo ir también unos 20 minutos de trabajo:

  1. descargar php
  2. configure con libs necesarias (por ejemplo, suhosin) (o cambie el código c con sus propios mensajes de broma) (recuerde soltar las extensiones específicas de apache y recuerde incluir zlib para instalar / desempaquetar plugins de wp desde wp)
  3. configurar / hacer php
  4. cambiar el archivo de configuración nginx para incluir llamadas php-fpm
  5. iniciar php-fpm y reiniciar nginx

hecho

(agregando archivos de inicio /etc/init.d donde sea necesario)

No he realizado pruebas de rendimiento, solo sigo ciegamente al "resto de ellos"

Fuera de alcance para esta respuesta: también estoy planeando deshacerme de MySQL y usar MariaDB (GPL) en su lugar.

Edelwater
fuente
También puede obtener un Apache liviano solo con la configuración adecuada. No me malinterpreten, Nginx o cualquier otro servidor web ligero como lighthttpd son geniales. Mi consejo es usar Apache para contenido dinámico y un Nginx / lighthttpd para contenido estático.
rofflox
lo mejor sería si WordPress se reescribiera en una sonrisa de servlets en C Para dinámico / estático: Estoy deslumbrado por las 1000 publicaciones de blog por día sobre las diferencias y solo quiero mantener 1 servidor web, más fácil.
edelwater 05 de
Estoy de acuerdo contigo en esto. Mantener un servidor web sigue siendo más fácil que dos. Pero en lugar de tirar a la basura Apache e instalar un nuevo servidor web solo porque es "más rápido" en la configuración predeterminada, no es solo la respuesta.
rofflox
@Roman Wünsche, ¿tal vez podría compartir algunos consejos sobre cómo obtener una configuración de Apache liviana que supere a nginx?
anu
@Roman Wünsche Eso es exactamente lo que estoy tratando de hacer, pero aún no ha funcionado
Souljacker
0

Trabajar con configuraciones prefork y Worker es algo complicado, modificar algunos valores definitivamente ayudará a aumentar el rendimiento y reducir el uso de RAM, también recuerde que apache reserva algo de RAM, eso no significa que se esté quedando sin RAM. Consulte este artículo para obtener los mejores consejos de optimización.

Sharma
fuente
1
Las respuestas de solo enlace se consideran de baja calidad. Úselos solo para demostrar que sus declaraciones están respaldadas por otra persona. Invocalos en tu respuesta.
kaiser