Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Técnicas para ser escalável com PHP

2,531 views

Published on

Lightning talk falando muito superficialmente sobre escalabilidade, tentando prover o básico de informação para melhorar a escalabilidade e performance dos sistemas escritos com PHP.
Falando desde

Published in: Technology
  • Be the first to comment

Técnicas para ser escalável com PHP

  1. 1. Técnicas para ser escalável com PHPPHPn Rio 2011  Quem?  Nome: Filipe La Ruina  Empresa: Cortex Intelligence  Desenvolvedor Web a um bom tempo  Serviços web escaláveis  Bolsa de Mulher  Novo Serviço no futuro ;)  Com uma paixão por desenvolvimento de jogos
  2. 2. Técnicas para ser escalável com PHPPHPn Rio 2011  O que é Escalabilidade?  Não é performance (mas ela afeta)  Manter a performance  Escalável = Aguenta aumento de tráfego
  3. 3. Técnicas para ser escalável com PHPPHPn Rio 2011  Comofas?  Verticalmente (mais forte)  Compre servidores mais fortes  Mais rápido de fazer  Mais caro  Horizontalmente (maior quantidade) vamos falar desse :)  Mais servidores  Mais difícil (arquitetura tem que acompanhar)  Mais barato (bem mais a longo prazo)
  4. 4. Técnicas para ser escalável com PHPPHPn Rio 2011  Servidor  Use PHP 5.3 (e 5.4 quando sair)  Arquitetura ”separada”  Cache  APC (http://br.php.net/apc)  Memcache (http://br2.php.net/memcache)  Faça filas  Gearman (http://br2.php.net/gearman)  Perfeito para atividades não-síncronas
  5. 5. Técnicas para ser escalável com PHPPHPn Rio 2011  Arquitetura  Banco  Master Slave  Read/Write entre 80/20 – 90/10 %  Load balancer  Hardware  Mais caro  Mais rápido  Software  Barato  Perlbal  Apache mod_proxy  ...
  6. 6. Técnicas para ser escalável com PHPPHPn Rio 2011  Arquitetura  Servidores de Memcache  Armazena Sessões  Armazena resultados de queries  Servidores de Gearman  Armazena seus Jobs
  7. 7. Técnicas para ser escalável com PHPPHPn Rio 2011  Cliente  HTTP Cache  Menos Requests  Cabeçalhos de Cache  Cache-Control: max-age  Expires  Etag  Javascript e CSS  Minify  Gzip  Otimizações  Servidor de arquivos estáticos
  8. 8. Técnicas para ser escalável com PHPPHPn Rio 2011  Dicas Gerais  Evite acesso a disco  Faça cache de memória  Meça onde está seu gargalo  Cache x1000  Ative o APC
  9. 9. Técnicas para ser escalável com PHPPHPn Rio 2011  Ferramentas  Google PageSpeed  Firebug  Yahoo YSlow  Xdebug (profiling)  HipHop para análise estática (http://talks.php.net/show/latinoware/18)
  10. 10. Técnicas para ser escalável com PHPPHPn Rio 2011  Links  http://code.google.com/speed/articles/  http://highscalability.com/  http://duartes.org/gustavo/blog/post/what-your- computer-does-while-you-wait  http://www.slideshare.net/techdude/scalable-web- architectures-common-patterns-and-approaches
  11. 11. Técnicas para ser escalável com PHPPHPn Rio 2011 Obrigado! @filipelaruina filaruina@gmail.com

×