a arte do deployment - webdevcamp

26
a arte do deployment (ou uma pequena parte dela...) George Guimarães [email protected] WebDevCamp dez/2007

Upload: george-guimaraes

Post on 08-Jul-2015

1.602 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: A Arte do Deployment - WebDevCamp

a arte do deployment(ou uma pequena parte dela...)

George Guimarã[email protected] dez/2007

Page 2: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

desenvolvimento deployment escalabilidade

Page 3: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

Quem?

George Guimarães

Pagestacker

não-programador (ooops...)

Page 4: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

dimensionando seu web farm

Page 5: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

requisição web típicaGateway

porta 80

dinâmico?

HTTP Request

não

sim

gatewaysApachepoundnginx

Page 6: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

nginx

• leve

• footprint pequeno (10MB para 10k conexões)

• performance

• “tente não acessar o disco”

• no-drop policy

Page 7: A Arte do Deployment - WebDevCamp

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

Page 8: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

e agora?

Page 9: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

quantos mongréis?

Page 10: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

comece com nenhum mongrel

páginas estáticas pequenas (~7kb) direto pelo gateway server (nginx)

Page 11: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

httperf 1998 (!)muito utilizadomuito flexível

Obs.: quanto mais perto o httperf do seu servidor, melhor

Page 12: A Arte do Deployment - WebDevCamp

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

Page 13: A Arte do Deployment - WebDevCamp

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...

Page 14: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

0

50

100

150

200

250

300

350

400

450

500

1 2 3 4 5 6

Page 15: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

monitorando seu web farm

Page 16: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

Nagioschato de configurarmas funciona bemmas é chatosério...

Page 17: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

gangliaBerkeleydistribuídovisão agregada

Page 18: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

monit

• configuração legível

• monitora -> regra -> atua

• controle de malha fechada

• operador de datacenter robótico

Page 19: A Arte do Deployment - WebDevCamp

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

Page 20: A Arte do Deployment - WebDevCamp

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

Page 21: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

Page 22: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

munin

• foco em performance

• gráficos, muitos gráficos

Page 23: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

Page 24: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

Page 25: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

mais por vir...

Ezra Zygmuntowicz(EngineYard)

Bruce Tate(From Java to Ruby)

Page 26: A Arte do Deployment - WebDevCamp

George Guimarães. WebDevCamp 2007

?!George Guimarães

http://pagestacker.comhttp://blog.georgeguimaraes.com

[email protected]