É algo que me irrita profundamente, servidores mal aproveitados que por sua vez demandam mais servidores! Alem dos óbvios custos financeiros envolvidos, existe também o fator “Sysadmin puto da cara” e “Sysadmin pagando o pato por falha no desenvolvimento”.

Essa é a recomendação de leitura da semana:
Hardware is Expensive, Programmers are Cheap
Hardware is Expensive, Programmers are Cheap II

Vale citar que esses textos foram escritos em resposta a esse outro:
Hardware is Cheap, Programmers are Expensive

update 1:
O Eri foi alem e consultou as fontes do texto sobre latência, e indicou esse como leitura para entender bem o conceito.
ps. eu li e confirmo, realmente vale a pena ler o texto

Oi, tudo bom?

Para o sysadmin que ainda não leu, LEIA!
Leia com cuidado, atenção, reflita sobre e depois leia de novo!

http://lonesysadmin.net/2008/09/08/downtime/

http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it

nota mental: talvez seria uma boa eu traduzir e postar por aqui!

E se possível eu gostaria de ver um post do Eri Ramos sobre o tema! Acho que ele pode ter uma boa história para contar  :)

Ontem a noite, um amigo me questionou sobre o consumo de memória RAM e a quantidade de swap usada em um sistema linux. Dentre outras coisas, ele queria saber o motivo de todo mundo usar o dobro da memória RAM como swap.

Eu lhe expliquei que isso era mais uma convenção, e que era necessário no tempo em que as pessoas dispunham de pouca RAM em seus computadores, mas que hoje isso não é mais válido e que no caso do desktop dele – que contem 1gb de RAM – alocar 1gb do hd como swap seria de longe mais que suficiente.


Hoje, que surpresa! O pessoal do NixCraft fez uma matéria tratando justamente desse assunto. ( Acho que eles mantem câmeras secretas na minha casa )


No artigo da NixCraft vi que minha explicação não foi 100%, pois um dos motivos de antigamente se usar o dobro da RAM como swap é o fato de que o sistema de gerenciamento de memoria do “Linux de antigamente” não era tão eficiente quanto do “Linux da atualidade”.



As políticas sugeridas no NixCraft são:

for normal server (Web / Mail etc):

1. Swap space == Equal RAM size (if RAM < 2GB)
2. Swap space == 2GB size (if RAM > 2GB)

My friend who is a true Oracle GURU recommends something as follows for heavy duty Oracle server with fast storage such as RAID 10:

1. Swap space == Equal RAM size (if RAM < 8GB)
2. Swap space == 0.50 times the size of RAM (if RAM > 8GB)

De modo geral em meus servidores, faz algum tempo que tenho adotado a política do RAM == SWAP, exceto nos casos de servidores pequenos, com 512 de RAM ou menos, nesses raros casos ainda uso a regra do dobro.

A mesma política adoto nos micros de casa, Notebook c/ 1gb de RAM e de swap, pc de mesa c/ 512 de RAM e 1gb de swap.

Resolvi pegar o uso da swap de algumas máquinas e postar aqui.

  • Notebook c/ 1 gb de RAM (em quanto escrevo esse artigo ) – 13 mb
  • Desktop c/ 512 mb de RAM (em quanto jogo uma partida de tremulous no Gnome) – 142 mb
  • Servidor c/ 2 gb de RAM ( 4 instâncias do Tomcat e 1 do Mongrel ) – 300 mb
* Um último adendo. O artigo do NixCraft faz uma ressalva quanto ao uso de RAM em máquinas que fazem uso da função de suspender para o disco, nesses casos o dobro da RAM como swap ainda é necessário.

Mas e você? quanta swap está usando no momento? Vamos lá, não se acanhe, poste nos comentários.

Recentemente procurando material sobre escalabilidade/alta disponibilidade, esbarrei em uma matéria do highscalability.com sobre o mmo EVE Online. O texto é muito bom e recomendo a leitura, mas vou replicar aqui alguns detalhes que me chamaram a atenção.
  • são 300.000 usuários cadastrados
  • suporta até 40.000 usuários concorrentes(conectados ao mesmo tempo)
  • Stackless Python é usado tanto no servidor quanto no cliente.
  • o banco de dados usado é o SQL Server da microsoft
  • o cluster de banco de dados roda sobre SSD

Ainda segundo o texto, os discos SSD ajudam MUITO no desempenho do sistema. Assim que eles ficarem mais acessíveis eu compro um para testes.