Temos uma máquina Windows 7 Pro executando Apache / php / postgres processando solicitações Ajax sob uma carga constante (várias a cada segundo). Também está executando vários outros aplicativos, que executam muitas gravações em disco.
Geralmente as respostas do Ajax são recebidas em menos de um segundo, mas ocasionalmente (~ uma vez em um período de 24h) por um período de até 15 segundos, nenhuma resposta é enviada e todas elas são enviadas no final, ou seja, aparece o servidor está bloqueado por até 15 segundos. Isso faz com que o Ajax expire no lado do cliente.
Registros do Apache e outros aplicativos fazem isso. O Perfmon mostra vários contadores caindo para zero / quase-zero - atividade de HD, atividade de CPU, atividade de rede, etc. O httpd # 1 parece ser o único processo que ainda tem alguma atividade de CPU, embora reduzida.
Como posso determinar a causa do problema? O perfmon ou outra ferramenta pode me informar qual recurso está bloqueando? (O 'Windows Performance Toolkit' ou 'Process Monitor' é bom para isso?)
O NB Apache tem muitos threads, conexões amplas com postgres, CPU e RAM não estão maximizadas, e nós tentamos opções de energia, drivers, sfc / scannow, chkdsk / r, memtest, etc.
Atualização 22/03/2013 10:26:
Obrigado por todas as suas respostas até agora. Mais informações:
Hardware:
- Chassi: Westek 2U Rack Mount Motherboard: Intel Q35 1333FSB (5xPCI, 2xPCI-E, SATA II I / F, I / F VGA, 2xRS232, etc)
- RAM: Módulo de memória 2 x 2 GB DDR2 PC2-5300 não ECC CL4 de 240 pinos (3 GB utilizável como sistema operacional de 32 bits)
- Processador: Cache Intel Core2 Quad Q9550.2.83GHz 1066FSB 12MB
- Armazenamento: 2x SATA 16GB Hitachi 320GB Cache 7200 NCQ na caixa de RAID SATA-II - Intel Raid 1, NTFS
- Potência: 2x PSU de 400 W - redundante duplo
- Modem: Modem de fax USB externo de 56k da StarTech v.92
- placa PCI: cartão de telefonia
SO:
- Windows 7 Pro SP1 de 32 bits
Opções avançadas de desempenho:
(Propriedades do sistema > Avançado > Desempenho > Configurações > Avançado)
- Agendamento do processador: melhor desempenho para programas
- Memória virtual: Gerencie automaticamente o tamanho do arquivo de paginação para todas as unidades
- Tamanho total de paginação para todas as unidades:
- Mínimo permitido: 16 MB
- Recomendado: 4591 MB
- Atualmente alocado: 3061 MB
Atualização 22/03/2013 11:46:
Screenshot do perfmon:
link (não tenho reputação suficiente para inseri-lo no post)
O período durante o qual o servidor não responde é 07:44:15 - 07:44:22 - enquanto a CPU cai abaixo de 20%. (NB isto é de outro servidor com CPU mais fraca e software não otimizado mais antigo - normalmente a CPU não é tão alta!)
Atualização 04/04/2013 16:53:
Encontramos o culpado - o HDD. Só demorou um mês!
Como chegamos lá:
O Process Monitor confirmou que o disco estava bloqueando todas as gravações durante os incidentes. Primeiro, tentamos atualizar os drivers RAID. Isso melhorou as coisas - a CPU, etc, não caiu completamente para zero, mas o disco ainda estava bloqueando. Em seguida, tentamos desabilitar o RAID - isso não teve efeito. Tentamos reduzir o uso do disco desativando vários registros e isso ajudou. Nós então tentamos trocar o HDD por outro (de menor especificação), usando a imagem do primeiro, e o problema desapareceu completamente.
Então, o que havia de errado com o nosso HDD?
O disco que estávamos usando era um "Hitachi TravelStar 7k500 (variante Enhanced Availability)". Parece que o ciclo de trabalho foi limitado para garantir a "Disponibilidade Aprimorada" para este modelo, o que pode não ser adequado para uso de disco particularmente pesado. De acordo com o Monitor de Recursos, nosso uso de disco é de cerca de 400 KB / s.