performance na web
escalando e performando aplicações na web



          marcelnicolay.com
             quatix.com.br
cliente x servidor
arquitetura 1.0

       webserver


    application server


        database
arquitetura 2.0
http accelerator

  webserver


app              app

       cache

      database
arquitetura 2.0
http accelerator       varnish
  webserver


app              app

       cache

      database
arquitetura 2.0
http accelerator       varnish
  webserver            nginx

app              app

       cache

      database
arquitetura 2.0
http accelerator            varnish
  webserver                  nginx

app              app   python, nodejs, ruby
       cache

      database
arquitetura 2.0
http accelerator            varnish
  webserver                  nginx

app              app   python, nodejs, ruby
       cache               memcache
      database
arquitetura 2.0
http accelerator            varnish
  webserver                  nginx

app              app   python, nodejs, ruby
       cache               memcache
      database               nosql
performance C10K


  10 mil usuários simultâneos




         http://www.kegel.com/c10k.html
web application


• cgi script
• application server
tipos de servidor

• fork
• pre-fork
• thread
• single thread
tipos de servidor

• fork
• pre-fork
• thread
• single thread
tipos de servidor

• fork
• pre-fork
• thread
• single thread
tipos de servidor

• fork
• pre-fork
• thread
• single thread
non blocking I/O

• conexões são tratadas como arquivos
  (open, read, write, close)
• leitura e escrita asíncronas
• event polling
• corotinas
escalabilidade


• vertical
• horizontal
escalabilidade

• unidade computacional
• teste de carga para definição de capacidade
• dimensionamento com base em métricas
• dimensionamento em real time
performance no cliente

• compressão de css e javascript
• compressão do html
• CDN
• HTML 5
OBRIGADO!
 marcelnicolay.com
   quatix.com.br

Performance na web