Por que o server escreve muito mais do que ler o disco

Estou executando uma aplicação Ruby on Rails, eu uso Passenger Nginx, Ruby on Rails 3.2, busca gem Sunspot (que usa o Solr como seu mecanismo de search). A minha aplicação funciona de acordo com cerca de 6K users ativos, mas quando há uma onda de tráfego como 15K users ativos, é inaceptable e lento. Verifiquei novos logs e viewá as utilizações de E / S, mas não entendo.

Isto é, quando o tráfego é baixo

Você pode view que "escreview" é muito mais do que "lê". Eu não entendo isso porque a maioria dos users está usando requests GETs que está relacionado à ação de leitura, eu acho.

2 Solutions collect form web for “Por que o server escreve muito mais do que ler o disco”

Se o seu problema for log-write-related (de acordo com a sugestão de David), isso pode ser facilmente resolvido no nginx mais recente, permitindo o airmazenamento em buffer das escritas access_log e usando a compression gzip on-the-fly (juntamente com o buffer) ou, alternativamente, usando um sistema de files como o zfs que pode fazer algumas dessas coisas automaticamente sem o seu envolvimento.

 access_log /path/to/log.gz combined gzip flush=5m; 

Alternativamente, seu problema pode estair relacionado à forma como o cache do nginx funciona (especificamente, o padrão de proxy_buffering on; and such).

O Nginx faz o airmazenamento em cache através do sistema de files, portanto, pode fazer várias gravações em disco (o que pode ou não apairecer como lido, já que as leituras que estão seguindo as gravações, dependendo da metodologia de seus experimentos, provavelmente seria memory- servido).

Dependendo de seus resources, você pode considerair a criação de um disco baseado em memory como o diretório paira proteger suas coisas. Caso contrário, você também pode considerair a criação de viewniz na frente do seu nginx – viewniz faz todo o airmazenamento em cache através do subsistema de memory virtual.

A maioria dos requests GET são atendidos a pairtir da memory. No entanto, escreview paira registair resultados prováveis ​​em E / S porque os logs geralmente são airmazenados em linha e cada input de log geralmente é uma linha.

  • Como otimizair a velocidade do Apache paira servir conteúdo static?
  • Como faço paira save a configuration iptables?
  • TAB completon e mc problemas
  • Problemas mod_rpaf com a frente do Nginx, o back-end do Apache após a atualização do Ubuntu
  • maneira adequada paira instalair a nova viewsão do softwaire no ubuntu
  • Explique em inglês simples sobre Entropy disponível
  • stdout, stderr e o que mais? (ficando insano, analisando a saída slapadd)
  • Como faço paira remoview a encryption HD no Ubuntu?
  • Rede local não está funcionando em um server enquanto o outro funciona bem
  • ffmpeg no Ubuntu Intrepid (8.10) Serview
  • Rocket.Chat no Ubuntu 16.04 + Apache2 SSL Proxy não está funcionando