alta carga do servidor linux

1

Eu tenho um problema com alta carga de servidor (carga média de 10 a 100+) quando há muito tráfego na web. Há também atrasos visíveis ao ler / gravar arquivos. Máquina é um servidor web Apache. A página da Web está usando PHP e está acessando / abrindo alguns arquivos pequenos (máx. 30kB) (config, lista negra, arquivo do diretório de cache).

Estou tentando rastrear o motivo deste problema há alguns dias. Isso é o que eu descobri:

  • a carga da CPU está abaixo de 10%
  • O carregamento de
  • é protegido por uma longa resposta do disco. top mostra o parâmetro %wa (iowait) em 20-100%
  • iostat: pastebin
  • após alguns testes, parece que o problema é uma função fopen () específica no meu script PHP, acessando arquivos de cache
  • se eu excluir a linha com este fopen () específico, a carga do servidor está diminuindo rapidamente, para valores de 0.00-0.50, o iowait é 0%

Algumas informações sobre o servidor:

  • xeon e3-1245v2, 32 gb de ram, 2 unidades SATA3 de 2 TB com software RAID 1 (espelhamento), sistema de arquivos ext4 (com dir-index habilitado e noatime em fstab)
  • O tamanho do diretório de cache
  • é de cerca de 500 GB
    • tem cerca de 16 a 17 milhões de arquivos, cada um com 20 a 30 KB
    • nomes de arquivos são hashes MD5
    • estrutura de diretórios é (exemplo): cacheDir/d4/1d/d41d8cd98f00b204e9800998ecf8427e.dat
    • Portanto, há 256 diretórios em cacheDir/ (primeiro nível) e 256 diretórios de segundo nível (em cada diretório de primeiro nível)
    • então, em média, há cerca de 200-300 arquivos por diretório de segundo nível
  • PHP está fopen 'arquivando arquivos de cache com caminhos absolutos
  • os discos foram verificados: sem erros / avisos
  • e2fsck -Df (otimizar diretórios no sistema de arquivos) o resultado é aqui
  • após e2fsck -Df não houve diferença na carga do servidor

Pensei que essa organização de diretório de cache seria boa para o desempenho ideal do disco. Aparentemente eu estava errado ..

O que você recomendaria para corrigir esse problema de alta carga / resposta lenta ao disco?

    
por gib 29.05.2013 / 03:03

0 respostas