Estou trabalhando com o ajuste de um servidor apache em uma pilha LAMP em uma instância do m3.medium ec2 executando o Amazon Linux.
Algumas semanas atrás, o mysql começou a travar o tempo todo e parecia que era o apache (2.2) causando o problema devido a problemas de memória. Fizemos algumas análises e alteramos a configuração para números muito menores de servidores. Isso resolveu o problema do mysql, mas acabou com o xmas quando havia níveis muito menores de tráfego. Desde então, temos aumentado gradualmente o número de servidores para tentar encontrar o nível ideal para o servidor.
O Apache agora está mostrando um comportamento inesperado. Depois de um certo período de tempo leva muito tempo para atender novas solicitações (minutos), quando eu verifico top etc, quando isso está acontecendo, o uso da CPU pode ser tão baixo quanto 0%, mas é sempre muito baixo, é como se o apache não estivesse fazendo nada . Há um monte de processos apache no topo da leitura, mas é como se eles não estivessem fazendo nada. Eu tentei desativar o KeepAlive caso eles estivessem sendo amarrados dessa maneira, mas isso não fez diferença.
Ainda estamos usando o prefork MPM (no processo de configuração de novo servidor para alterar isso)
config é assim
StartServers 10
MinSpareServers 10
MaxSpareServers 30
ServerLimit 40
MaxClients 40
MaxRequestsPerChild 2000
KeepAlive Off
Alguém pode me ajudar a entender o que está acontecendo? Meu entendimento do Apache é muito limitado para entender o que está errado, mas minha intuição está me dizendo que os processos do apache estão ficando amarrados de alguma forma.
Eu tentei olhar para o mod_status mas ele não servirá nesta situação porque o pedido fica lá esperando que o apache responda.
No momento, estou tendo que simplesmente redefinir o apache regularmente, o que está longe do ideal.
Eu incluí um monte de opções de monitoração abaixo, espero que elas possam lançar alguma luz sobre o que está acontecendo ou sobre o que eu devo ver a seguir.
Muito obrigado.
saída de livre:
total used free shared buffers cached
Mem: 3578 3481 96 0 22 550
-/+ buffers/cache: 2909 669
Swap: 1023 226 797
saída do topo
top - 10:35:15 up 12 days, 14:14, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 189 total, 1 running, 188 sleeping, 0 stopped, 0 zombie
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
Mem: 3664028k total, 3559768k used, 104260k free, 21076k buffers
Swap: 1048572k total, 232500k used, 816072k free, 559268k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19973 apache 20 0 1042m 346m 271m S 0.0 9.7 1:17.08 httpd
19964 apache 20 0 1030m 327m 266m S 0.0 9.2 1:11.35 httpd
19970 apache 20 0 1019m 316m 265m S 0.0 8.9 0:59.22 httpd
19981 apache 20 0 1034m 316m 249m S 0.0 8.8 1:10.28 httpd
19962 apache 20 0 1103m 312m 176m S 0.0 8.7 1:15.58 httpd
19966 apache 20 0 1040m 306m 233m S 0.0 8.6 1:24.83 httpd
19971 apache 20 0 1037m 304m 235m S 0.0 8.5 1:03.00 httpd
20848 apache 20 0 1023m 304m 248m S 0.0 8.5 1:11.44 httpd
19969 apache 20 0 1022m 303m 248m S 0.0 8.5 1:06.99 httpd
2199 mysql 20 0 929m 299m 7656 S 0.0 8.4 2137:27 mysqld
27961 apache 20 0 1162m 288m 195m S 0.0 8.1 0:33.04 httpd
19968 apache 20 0 1049m 275m 194m S 0.0 7.7 1:09.61 httpd
20846 apache 20 0 1027m 272m 212m S 0.0 7.6 1:08.45 httpd
30931 apache 20 0 1062m 270m 177m S 0.0 7.6 0:21.48 httpd
21038 apache 20 0 1049m 269m 187m S 0.0 7.5 1:03.50 httpd
19984 apache 20 0 1023m 267m 211m S 0.0 7.5 1:01.80 httpd
19960 apache 20 0 1060m 259m 166m S 0.0 7.3 1:01.87 httpd
19972 apache 20 0 1025m 258m 202m S 0.0 7.2 1:01.66 httpd
19965 apache 20 0 1031m 256m 192m S 0.0 7.2 1:05.59 httpd
19963 apache 20 0 1022m 248m 192m S 0.0 6.9 0:55.78 httpd
19961 apache 20 0 1037m 247m 177m S 0.0 6.9 1:18.43 httpd
30934 apache 20 0 1019m 242m 189m S 0.0 6.8 0:07.20 httpd
30932 apache 20 0 1062m 233m 140m S 0.0 6.5 0:09.04 httpd
24211 apache 20 0 1020m 230m 177m S 0.0 6.4 0:39.03 httpd
19974 apache 20 0 1020m 227m 174m S 0.0 6.4 1:14.78 httpd
31298 apache 20 0 1015m 215m 168m S 0.0 6.0 0:05.64 httpd
406 apache 20 0 1146m 181m 94m S 0.0 5.1 0:08.68 httpd
31297 apache 20 0 1033m 161m 96m S 0.0 4.5 0:08.05 httpd
408 apache 20 0 1020m 139m 86m S 0.0 3.9 0:02.53 httpd
1370 apache 20 0 1041m 136m 53m S 0.0 3.8 0:02.26 httpd
1372 apache 20 0 1019m 125m 73m S 0.0 3.5 0:01.01 httpd
1392 apache 20 0 1041m 111m 37m S 0.0 3.1 0:02.18 httpd
1402 apache 20 0 1107m 100m 52m S 0.0 2.8 0:00.33 httpd
1542 apache 20 0 1013m 97m 51m S 0.0 2.7 0:00.88 httpd
1362 apache 20 0 999m 92m 52m S 0.0 2.6 0:01.03 httpd
1424 apache 20 0 997m 91m 53m S 0.0 2.6 0:00.60 httpd
1410 apache 20 0 997m 91m 53m S 0.0 2.6 0:00.38 httpd
407 apache 20 0 1019m 91m 39m S 0.0 2.6 0:01.17 httpd
1427 apache 20 0 997m 91m 52m S 0.0 2.6 0:00.57 httpd
1371 apache 20 0 1013m 83m 37m S 0.0 2.3 0:00.31 httpd
1541 apache 20 0 981m 57m 34m S 0.0 1.6 0:00.17 httpd
32187 root 20 0 967m 26m 17m S 0.0 0.7 0:02.49 httpd
saída do sar -u
06:10:01 AM all 18.23 0.00 2.03 2.42 15.23 62.09
06:20:01 AM all 50.85 0.00 2.84 0.46 40.40 5.45
06:30:02 AM all 48.69 0.00 2.76 0.63 38.56 9.35
06:40:01 AM all 47.25 0.00 2.85 1.60 37.61 10.70
06:50:02 AM all 50.16 0.00 3.52 0.57 40.73 5.03
07:00:01 AM all 47.51 0.00 2.76 0.75 37.77 11.21
07:10:01 AM all 35.43 0.00 2.65 1.73 28.79 31.40
07:20:02 AM all 19.84 0.00 2.10 2.21 16.67 59.19
07:30:02 AM all 24.34 0.00 2.30 2.28 20.17 50.91
07:40:02 AM all 18.45 0.00 1.66 1.97 15.14 62.78
07:50:01 AM all 22.23 0.00 2.32 2.92 18.55 53.98
08:00:02 AM all 19.60 0.00 1.98 2.31 16.21 59.90
08:10:02 AM all 18.17 0.00 2.00 3.72 15.07 61.04
08:20:01 AM all 13.80 0.00 1.72 3.27 11.73 69.48
08:30:01 AM all 11.79 0.00 1.50 3.40 10.03 73.28
08:40:01 AM all 16.59 0.00 1.95 2.73 14.02 64.71
08:50:01 AM all 18.04 0.00 1.96 2.37 15.26 62.38
09:00:02 AM all 17.94 0.00 2.16 2.79 15.20 61.91
09:10:01 AM all 4.97 0.00 0.82 1.07 4.46 88.69
09:20:01 AM all 0.18 0.00 0.28 0.19 0.50 98.85
09:30:01 AM all 0.13 0.00 0.19 0.05 0.41 99.21
09:40:01 AM all 0.17 0.00 0.19 0.07 0.43 99.14
09:50:01 AM all 0.13 0.00 0.21 0.03 0.45 99.18
10:00:02 AM all 0.17 0.00 0.23 0.05 0.47 99.08
10:10:02 AM all 0.14 0.00 0.20 0.04 0.44 99.18
10:10:02 AM CPU %user %nice %system %iowait %steal %idle
10:20:01 AM all 0.16 0.00 0.24 0.03 0.49 99.08
10:30:01 AM all 0.14 0.00 0.21 0.03 0.43 99.19
Average: all 19.78 0.03 1.78 2.19 16.21 60.01
saída do sar -r
06:00:02 AM 135820 3528208 96.29 194768 1170836 2544680 54.00
06:10:01 AM 140220 3523808 96.17 196932 1174256 2531460 53.72
06:20:01 AM 133368 3530660 96.36 199088 1180468 2534200 53.77
06:30:02 AM 75624 3588404 97.94 201796 1187420 2590456 54.97
06:40:01 AM 56112 3607916 98.47 201388 1138840 2669548 56.65
06:50:02 AM 83040 3580988 97.73 195960 1120028 2659192 56.43
07:00:01 AM 56500 3607528 98.46 198812 1128004 2688464 57.05
07:10:01 AM 82508 3581520 97.75 201584 1080180 2699568 57.28
07:20:02 AM 118984 3545044 96.75 204008 1061088 2681724 56.91
07:30:02 AM 48180 3615848 98.69 206580 1053828 2757888 58.52
07:40:02 AM 98828 3565200 97.30 208404 1010216 2752216 58.40
07:50:01 AM 53364 3610664 98.54 181868 961276 2943300 62.46
08:00:02 AM 72516 3591512 98.02 132032 820096 3182764 67.54
08:10:02 AM 97400 3566628 97.34 81824 793872 3254192 69.05
08:20:01 AM 105988 3558040 97.11 77336 796660 3239836 68.75
08:30:01 AM 110324 3553704 96.99 71368 805276 3242836 68.81
08:40:01 AM 89500 3574528 97.56 79736 814620 3255128 69.07
08:50:01 AM 137284 3526744 96.25 83296 817316 3192548 67.74
09:00:02 AM 28812 3635216 99.21 62000 723488 3599616 76.38
09:10:01 AM 42524 3621504 98.84 28976 601588 3792068 80.47
09:20:01 AM 71276 3592752 98.05 25720 583384 3782844 80.27
09:30:01 AM 81648 3582380 97.77 22472 573408 3784820 80.31
09:40:01 AM 87440 3576588 97.61 21816 573048 3784832 80.31
09:50:01 AM 80876 3583152 97.79 21860 572996 3785180 80.32
10:00:02 AM 88716 3575312 97.58 22032 569412 3783548 80.29
10:10:02 AM 90332 3573696 97.53 22312 569088 3779908 80.21
10:10:02 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
10:20:01 AM 88780 3575248 97.58 22612 567108 3783600 80.29
10:30:01 AM 90904 3573124 97.52 22932 566772 3780868 80.23
Average: 168071 3495957 95.41 129184 898526 2965883 62.94
ATUALIZAÇÃO:
Realmente aprecio os comentários e ajude nisso.
Estou adicionando mais informações básicas aqui:
O tamanho dos processos do apache (e, portanto, dos servidores não.) é algo que eu estou questionando.
Poderiam os tamanhos de processo grandes serem sintomáticos de um problema?
Quando reduzi o número de servidores para 8, o tamanho dos processos do apache foi para (200Mb-400Mb), mesmo após o reinício. Quando eu aumentei para mais servidores, o tamanho diminuiu consideravelmente para algo como (60mB), mas com o tempo eles aumentaram de tamanho, como pode ser visto na saída superior acima.
Então estou um pouco incerto sobre não. servidores - Parecia que o apache estava apenas pegando a memória disponível quando havia um menor não. de servidores - é que uma interpretação razoável disso?
Estamos executando o apc em alguns dos hosts virtuais, particularmente as duas instalações do magento que estão no servidor.
Eu desliguei o KeepAlive para ver se isso afetava o tamanho crescente do processo, não parecia ter efeito, mas mantive-o desligado enquanto tentava resolver isso para eliminá-lo da equação. Nós também tentamos usar um valor baixo para MaxRequestsPerChild de 200, caso houvesse um problema lá.
O servidor tem memória 4G, mas como não consigo descobrir o que realmente é o tamanho médio do processo (devido à variabilidade dependendo das configurações do apache) eu adotei isso, comecei baixo, aumentei o apprach e vi o livre memória em free -m (olhando para buffers / linha de cache)
obrigado pela entrada aqui.