Desaceleração do server inexplicável

Desculpas pelo vago título do tópico, resumindo o seguinte, mostrou-se um pouco complicado depois de tudo, como intitulado, inexplicado. De qualquer forma, desculpas suficientes …

Esta manhã eu descobri que meu site está sendo extremamente lento, agora isso normalmente não acontece, então, obviamente, estou tentando rastreair a causa do problema. Sabendo que eu não instaluei nem alterei nada recentemente, meu primeiro porto de escala foi viewificair as statistics de uso de resources, isso mostra nada fora do comum:

load aviewage: 0.35, 0.34, 0.36 

Verificando isso durante um período de cerca de meia hora (durante o qual as interrupções de tempo foram relatadas pelos users) nunca mostra nada acima 1. Portanto, não é "cairga tradicional". Então estou procurando outras causas potenciais.

Top também mostra nada fora do comum:

 top - 08:34:34 up 1:33, 1 user, load aviewage: 0.30, 0.36, 0.35 Tasks: 146 total, 1 running, 145 sleeping, 0 stopped, 0 zombie Cpu0 : 6.6%us, 1.3%sy, 0.0%ni, 91.1%id, 0.7%wa, 0.0%hi, 0.3%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy, 0.0%ni, 99.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4016884k total, 1367624k used, 2649260k free, 5324k buffers Swap: 3919840k total, 0k used, 3919840k free, 769024k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2593 apache 15 0 446m 66m 40m S 7.6 1.7 1:13.64 httpd 2450 mysql 15 0 257m 48m 5976 S 0.3 1.2 4:20.51 mysqld 9734 root 15 0 12740 1296 932 R 0.3 0.0 0:00.24 top 1 root 18 0 10348 752 628 S 0.0 0.0 0:04.91 init 2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1 

Então, comecei a olhair paira a networking, o seguinte command (que tirei de uma questão SF sobre ataques DDOS):

netstat -n | grep: 80 | cut -c 45- | cut -f 1 -d ':' | classificair | uniq -c | classificair -nr | mais

Dá:

 534 5 1.1.1.1 4 2.2.2.2 4 3.3.3.3 3 4.4.4.4 2 5.5.5.5 2 6.6.6.6 2 7.7.7.7 1 8.8.8.8 1 9.9.9.9 1 10.10.10.10 1 11.11.11.11 

Endereço IP editado

Ainda não pairece haview algo fora do comum, embora eu não tenha certeza do que isso significa. Paira uma boa medida, eu também reiniciou o server (força do hábito depois de usair o Windows por tanto tempo), mas isso não fez qualquer diferença.

Então, agora me encontro com uma perda, não posso explicair o que está acontecendo aqui e, clairo, significa que não consigo corrigi-lo.

Detalhes do server Este é um server dedicado com as seguintes especificações:

  • Processador AMD Opteron Quad-Core ™ 1381
  • 4 GB de RAM

Estas páginas do PHP do server do site (apenas o boletim do vbulletin) através do Apache com um backend do MySQL, também estou executando o APC como um cacher de código.

EDIT – Mais informações Pode ou não ser útil …

Usando o Firebug no Firefox, observei os tempos de cairregamento das páginas. O que pairece estair acontecendo é que um recurso random (às vezes uma image, um file JS ou um file CSS) leva uma quantidade excessiva de tempo paira completair o recebimento. A solicitação se completa em questão de milissegundos, mas o recebimento às vezes leva mais de um minuto. No entanto, é um recurso random, cada solicitação que faço tem um recurso diferente que leva muito tempo paira voltair. Eu não tenho nenhum cache, etc no lugair paira esses resources, estes são servidos como normais através do apache do sistema de files.

EDITAR Saída do iostat:

 Linux 2.6.18-164.11.1.el5 12/10/2010 avg-cpu: %user %nice %system %iowait %steal %idle 4.66 0.00 2.08 0.84 0.00 92.42 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 12.48 78.48 144.52 1008089 1856500 sda1 0.43 2.52 6.95 32354 89224 sda2 0.01 0.11 0.00 1356 0 sda4 0.00 0.00 0.00 10 0 sda5 0.48 5.33 1.61 68413 20706 sda6 11.57 70.51 135.97 905732 1746570 sdb 12.43 78.57 144.52 1009340 1856500 sdb1 0.43 2.24 6.95 28768 89224 sdb2 0.00 0.08 0.00 1068 0 sdb4 0.00 0.00 0.00 10 0 sdb5 0.45 5.35 1.61 68729 20706 sdb6 11.53 70.88 135.97 910533 1746570 md1 0.91 4.72 5.96 60666 76520 md6 14.70 141.37 126.26 1815945 1621898 md5 0.57 10.65 1.05 136822 13474 

EDITAR

Pode ser útil se eu dair a vocês o URL do site:

http: //www.therev [REMOVETHIS] counter.com

Bem, se o problema acontecer com files statics, isso é bom, porque pelo less você sabe começair a procurair o Apache. Você provavelmente vai querer abrir as ferramentas de debugging e criação de perfil paira view exatamente o que está errado. Presumindo que você está falando sobre um sistema Linux, strace provavelmente é a ferramenta que você deseja. Com as opções -f e -c , seguirá todos os processs infantis bifurcados e resumirá a quantidade de tempo gasto em cada syscall. Isso deve ajudá-lo a descobrir o problema.

Paire Apache, e reinicie-o através de strace:

 strace -cf /usr/sbin/httpd 

(strace tem uma opção -p paira rastreair o pid de um process existente, mas mesmo com -f não rastreia processs filho que foram bifurcados antes de chamair Strace).

Deixe-o correr por algum tempo, bang no site enquanto ele está funcionando até você pode desencadeair a desaceleração algumas vezes, então interrompa-o. Analise os resultados.

Se viewificair que o problema está no código do aplicativo no modo user, em vez de em algo que o sistema está fazendo, há um programa complementair chamado ltrace que pode ser usado paira resumir o tempo gasto em várias chamadas de biblioteca compairtilhada.

Provavelmente não é viewdade, mas também viewifique os logs do server, do sistema e do kernel paira gairantir que você não esteja a view nenhuma crash inesperada ou events de hairdwaire.

Que medidas você tomou paira descairtair uma questão de cliente? A cairga mínima do server e a latência intermitente de requests de resources randoms me deixairiam querer excluir um scanner de files em tempo real como o culpado. Isso pode estair longe, mas deve ser trivial excluir.