O IO lento está no meu servidor de nuvem causando meus problemas de reinicialização lenta do servidor?

3

Estou executando dois servidores no Rackspace Cloud One para o aplicativo da Web e um para as instâncias de db e redis. O servidor web possui 1Gb de ram e single core. Nginx senta-se na frente do unicórnio que está executando 2 trabalhadores. Eu também tenho uma instância sidekiq em execução. Essa configuração funciona muito bem e os servidores geralmente vibram com uma CPU muito baixa, pois o aplicativo ainda não foi lançado.

No entanto, quando eu faço um reinício de unicórnio, muito menos um aplicativo completo, todo o inferno se solta. Parece algo como isto:

Basicamente,meuservidoréeliminadopor3minutos.Éumpoucoresponsivoàsvezes,masomonitoramentoestáacionandoalertasdetempodeinatividadeemtodoolugar(issoéapenasumareinicializaçãocomtempodeinatividadezero).

Seeufizerumaimplantaçãocompleta,ográficoterácercade8minutos,mesmoqueeuestejapré-compilandorecursosefazendoupload,portanto,nãohácompilaçãonoservidor.

AparteinteressanteparamiméquetenhoumaconfiguraçãodeservidorduplicadaexataemexecuçãonoDigitalOcean.Eupossoreiniciarcompletamentetodooservidorshutdown-reficaremcimaeservirpáginasem50segundos.ComesteservidorRackspace,eunãooreinicionemmesmoparatestar,poisissomedariatempodeinatividademuitosignificativoparaumservidordeprodução.

EunãosouumadministradordeservidoresLinux,entãoestoupensandoseaspessoaspodemmedizerseissoéválidoparaocursocomservidoresemnuvemdaRackspace.EutiveumadécadadeexperiênciaexecutandoalgumascaixasdedicadasdoWindowsenuncativeproblemascomoeste.

hdparmcontraosservidores.

Rackspace:

$sudohdparm-Tt/dev/xvdc/dev/xvdc:Timingcachedreads:5066MBin1.99seconds=2541.54MB/secTimingbuffereddiskreads:238MBin3.00seconds=79.32MB/sec

DigitalOcean

$sudohdparm-Tt/dev/vda/dev/vda:Timingcachedreads:15612MBin1.99seconds=7828.02MB/secTimingbuffereddiskreads:1416MBin3.00seconds=471.89MB/sec

Obviamente,oservidorDOestásuperandooservidorRSporumamargemsignificativa.Curiosamente,oservidorDOestárealmentepreparandodoisaplicativos,entãoestáfazendomaistrabalhodoqueoRSone.Ambososhdparmssãoexecutadoscomacargadoservidorsobreomesmo(ouseja,muitopouco).Estavelocidadedediscoépuramentelentaouháalgomaisacontecendoaqui?

superiorparaosdoisservidores

Rackspace

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND9832xxxxxxxx200525m214m4372S0.021.61:31.61ruby9829xxxxxxxx200443m205m3312S0.020.61:27.67ruby15597xxxxxxxx200554m176m1268S0.017.84:59.36ruby9780xxxxxxxx200443m63m1088S0.06.40:28.80ruby787root200193m17m2608S2.01.7350:43.06driveclient1556xxxxxxxx2007787611m1020S0.01.118:54.78remote_syslog17415root2007309633642608S0.00.30:00.03sshd

OceanoDigital

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND20921xxxxxxxx200240m191m5328S0.019.10:29.62ruby21009xxxxxxxx200204m178m5356S0.017.80:20.82ruby21194xxxxxxxx200204m174m1724S0.017.40:00.10ruby21206xxxxxxxx200204m174m1656S0.017.40:00.10ruby21181xxxxxxxx20098.3m89m2184S0.38.90:03.04ruby1426xxxxxxxx200117m40m2272S0.04.11:09.02ruby1429xxxxxxxx200117m29m2180S0.03.01:09.64ruby1422xxxxxxxx200117m46521172S0.00.50:08.08ruby22066xxxxxxxx200718834561512S0.00.30:00.09bash22008root2001000833202664S0.00.30:00.03sshd

DevoestarabandonandooRackspace?

Editar:Implantargráfico(excluindoouploadeadescompactaçãodearquivosderecursospré-compilados)

Editar: vmstat

$ vmstat -S M 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0    380     67     13    109    4    4    13    10   10   17  1  1 97  0
 0  0    380     67     13    109    0    0     0     0  650 1011  0  1 99  0
 0  0    380     67     13    109    0    0     0     0  675 1008  0  1 99  0
 0  0    380     67     13    109    0    0     0     0  659 1009  0  0 100  0
 1  0    380     67     13    109    0    0     0    68  661 1027  0  0 99  1
 0  0    380     67     13    109    0    0     0     0  667 1014  0  0 100  0
 1  0    380     67     13    109    0    0     0     0  671 1016  1  0 99  0
 0  0    380     67     13    109    0    0     0     0  668 1008  0  0 99  0
 0  0    380     67     13    109    0    0     0     0  671 1022  0  0 100  0
 0  0    380     67     13    109    0    0     0     0  783 1112  9  3 89  0     
    
por toxaq 20.07.2013 / 13:11

3 respostas

2

Eu trabalho na Rackspace e gostaríamos de ajudá-lo a resolver esse problema. Se você puder nos ligar no número 1-800-961-4454, podemos verificar a saúde do host em que o seu servidor está ligado e movê-lo para um novo caso ele pareça ser um problema com um vizinho barulhento. Eu também estaria interessado em ver a saída de 'vmstat -SM 1 10', 'sar -b' (depois de algum tempo ter passado) e talvez 'iostat -x / dev / xvdc 2 6' quando esse problema está ocorrendo. / p>

Obrigado!

-Jimmy

    
por 21.07.2013 / 21:18
1

A partir dos dados que você publicou, este é definitivamente um gargalo de I / O no servidor rackspace. Como seu gráfico mostra claramente, a maior parte do tempo da CPU é gasto com Esperas de E / S (ou seja, a CPU está aguardando que os processos de E / S sejam concluídos).

Isso geralmente é causado pela velocidade lenta do disco e, como essa é uma instância virtual, provavelmente há outras instâncias usando grande parte da E / S do sistema host. Eu não vejo muita coisa que você possa fazer além de encontrar um hoster diferente (ou convencê-los a migrar você para outro sistema de hosts com menos carga de I / O ou obter outro servidor lá em um sistema de hosts diferente e tentar se este melhor). / p>     

por 20.07.2013 / 19:44
1

Isso certamente parece um gargalo de E / S, possivelmente causado por um vizinho barulhento.

Faça com que a Rackspace mova você para outro host, inserindo o bate-papo ao vivo ou ligando. Eles devem ser capazes de verificar o uso do host durante o processamento da migração.

    
por 21.07.2013 / 20:30