a arte do deployment - webdevcamp

Post on 08-Jul-2015

1.603 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

George Guimarãesgeorge@pagestacker.comWebDevCamp 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

george@pagestacker.com

top related