quality of service

Em conversa com um colega ele referiu que quando temos de gerir servidores de 50000 clientes a experiência é melhor do que gerir 20, achei um comentário no mínimo, mínimo. Conheço mais 3 administradores de sistemas bem capazes cujo número de clientes não deve chegar aos 100 e no entanto o empenho e atenção aos detalhes permite-lhes sempre encontrar a melhor solução, se ela funciona sobre maior stress ou não isso já vai dos tweaks que tudo necessita à medida do crescimento.

Pessoalmente acho que a capacidade de responder a 36000 clientes ou 20 depende da máquina, solução e configuração, altera-se pouco nessas situações minimamente aliás(tudo depende de quem desenhou a arquitectura), a realidade é que parte da diferença entre trabalhar com 36000 clientes vs 20 encontra-se no tempo de resposta e resolução de um problema, por consequência o recurso aos nossos conhecimentos para a sua resolução. Os conhecimentos ditam o resto.

Como meço o meu desempenho e qualidade ?! Aponto um Nº de tarefas a executar a longo prazo+tarefas paralelas+nº de interrupções, comparo com o resultado dos vários servidores ( disponibilidade ) a este conjunto acrescento a minha capacidade de “prever” problemas e prevenir contra os mesmos (cada vez mais difícil) malditos updates.

Neste momento está no geral mais ou menos assim:

~10  , 2 dependem inteiramente do facto de estarem ambos operacionais e aí está 90% do problema que ainda estou a resolver. 10% do problema encontra-se de não ter nem nunca irei ter hardware que tenha capacidade para lidar com redundância de filesystems (porn is higly scalable, business data is not). Alternativas existem e aqui pode-se dizer que os comentários são muitos. Ter algo dependente apenas de um server é algo que abomino mas em certos casos tenho de viver com isso devido às alterações que seriam necessárias aplicar entre as várias “interfaces” que comunicam. A afectar isto tudo existe o custo de equipamento que define a direcção a tomar (not my problem).

Posso também dizer que a melhor altura para fazer “melhoramentos” é quando está tudo uma merda não existe um lado negativo apenas o positivo pois quando na merda qualquer passo que se tome para sair dela é um melhoramento.

O tempo de reacção em situações de stress é algo crítico aqui surpreendo-me ao afirmar que o tenho controlado mas o facto de ter alertas e vários dados para recorrer quando algo falha, diminui o meu tempo de reacção, o facto de já ter lidado com o mais variado tipo de situações reduz ainda mais o tempo de reacção. Ainda demoro um pouco a escrever bash scripts…

Quanto mais clientes mais experiência ? Não. Por vezes 10 clientes com um serviço que precisa  estar allways on, é muito mais exigente e reclama a qualquer problema do que um outro que não tem tanta necessidade do serviço, por isso o número de clientes é variável.

O mais importante que aprendi até hoje é que o load average não é proporcional ao uso de cpu e nunca fazer alterações quando em estado zombie ( apenas 2 horas de sono ) faça o que se fizer vai dar merda é uma questão de tempo. Lado positivo em estado zombie não existe sentimento de stress apenas uma leve chatice.

O mais inútil que aprendi é que … Não existe nada de inútil na vida.

O que eu gostaria era poder alterar a configuração de um monte maganos que andam por aí e à custa deles temos de andar com hacks.

Um factor importante é o tempo se o problema ocorreu às 22h52 foi às 22h52 e não às 22h53 !
A minha shell é assim:

[03:36:53] andre@linux-wii:~$

São 3h18m hoje não trabalho ia a Lisboa e a viagem acabou por ficar sem efeito mas tenho de acordar às 4h da manhã.

LVM2

fixe, fixe é isto

Num sistema a correr com os serviços críticos parados a /var numa partição à parte , o problema falta de espaço na raiz /

A solução eliminar a partição /home e passar o seu espaço para a / (raiz)

O procedimento seria algo como

   # umount /dev/myvg/homevol/dev/myvg/homevol
   # resize2fs /dev/myvg/homevol
   # mount /dev/myvg/homevol /home

Infelizmente segui segundo me lembrava e não fiz o umount então infelizmente reduzi primeiro o volume lógico e só depois executei o resize2fs então muitos erros surgiram,
para resolver eliminei a /home que não tinha nada que me interessava.

# lvresize /dev/golias2/home -L-1G

# umount /home/

A correcção :S

# lvremove /dev/golias2/home

Após esse passo

# lvextend -L+1G /dev/golias2/root

em seguida um online resize da raiz

# resize2fs /dev/golias2/root

O online resize correu bem, todos os filesystems são ext3