A Arte do Deployment - WebDevCamp
-
Upload
george-guimaraes -
Category
Technology
-
view
1.602 -
download
1
Transcript of A Arte do Deployment - WebDevCamp
a arte do deployment(ou uma pequena parte dela...)
George Guimarã[email protected] dez/2007
George Guimarães. WebDevCamp 2007
desenvolvimento deployment escalabilidade
George Guimarães. WebDevCamp 2007
Quem?
George Guimarães
Pagestacker
não-programador (ooops...)
George Guimarães. WebDevCamp 2007
dimensionando seu web farm
George Guimarães. WebDevCamp 2007
requisição web típicaGateway
porta 80
dinâmico?
HTTP Request
não
sim
gatewaysApachepoundnginx
George Guimarães. WebDevCamp 2007
nginx
• leve
• footprint pequeno (10MB para 10k conexões)
• performance
• “tente não acessar o disco”
• no-drop policy
George Guimarães. WebDevCamp 2007
mongrel (“vira-lata”)escrito em ruby/c por Zed Shawrápidoapenas 1 requisição por vez(mutex lock)60~100 MB/instânciaservidor
George Guimarães. WebDevCamp 2007
e agora?
George Guimarães. WebDevCamp 2007
quantos mongréis?
George Guimarães. WebDevCamp 2007
comece com nenhum mongrel
páginas estáticas pequenas (~7kb) direto pelo gateway server (nginx)
George Guimarães. WebDevCamp 2007
httperf 1998 (!)muito utilizadomuito flexível
Obs.: quanto mais perto o httperf do seu servidor, melhor
George Guimarães. WebDevCamp 2007
httperf --hog --server exemplo.com --port 80 --uri /files/arquivo.html --num-conns xxxxx
dará um limite máximo de hits/segundothroughput de melhor caso
George Guimarães. WebDevCamp 2007
httperf --hog --server exemplo.com --port 80 --uri /files/arquivo.html --num-conns xxxxx --rate yyyy
rodar por alguns (~20) segundoschecar se rate do output é o mesmo
adicione mongréis 1 a 1...
George Guimarães. WebDevCamp 2007
0
50
100
150
200
250
300
350
400
450
500
1 2 3 4 5 6
George Guimarães. WebDevCamp 2007
monitorando seu web farm
George Guimarães. WebDevCamp 2007
Nagioschato de configurarmas funciona bemmas é chatosério...
George Guimarães. WebDevCamp 2007
gangliaBerkeleydistribuídovisão agregada
George Guimarães. WebDevCamp 2007
monit
• configuração legível
• monitora -> regra -> atua
• controle de malha fechada
• operador de datacenter robótico
George Guimarães. WebDevCamp 2007
check process mongrel_8000 with pidfile mongrel.8000.pid start program = “mongrel_rails cluster::start -C
pagestackr.yml --clean --only 8000” stop program = “mongrel_rails cluster::stop -C
pagestackr.yml --clean --only 8000”if totalmem > 40 MB for 4 cycles then restart if cpu > 60% for 4 cycles then restart if 3 restarts within 5 cycles then timeout group mongrel
George Guimarães. WebDevCamp 2007
check system localhost if loadavg (1min) > 3 then alert if loadavg (5min) > 2 then alert if memory usage > 60% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 30% then alert if cpu usage (wait) > 20% then alert
George Guimarães. WebDevCamp 2007
George Guimarães. WebDevCamp 2007
munin
• foco em performance
• gráficos, muitos gráficos
George Guimarães. WebDevCamp 2007
George Guimarães. WebDevCamp 2007
George Guimarães. WebDevCamp 2007
mais por vir...
Ezra Zygmuntowicz(EngineYard)
Bruce Tate(From Java to Ruby)
George Guimarães. WebDevCamp 2007
?!George Guimarães
http://pagestacker.comhttp://blog.georgeguimaraes.com