SlideShare uma empresa Scribd logo
Técnicas para ser escalável com PHP
PHP'n 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
Técnicas para ser escalável com PHP
PHP'n Rio 2011


    O que é Escalabilidade?
        Não é performance (mas ela afeta)
        Manter a performance
        Escalável = Aguenta aumento de tráfego
Técnicas para ser escalável com PHP
PHP'n 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)
Técnicas para ser escalável com PHP
PHP'n 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
Técnicas para ser escalável com PHP
PHP'n 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
                    ...
Técnicas para ser escalável com PHP
PHP'n Rio 2011


    Arquitetura
        Servidores de Memcache
              Armazena Sessões
              Armazena resultados de queries
        Servidores de Gearman
              Armazena seus Jobs
Técnicas para ser escalável com PHP
PHP'n 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
Técnicas para ser escalável com PHP
PHP'n 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
Técnicas para ser escalável com PHP
PHP'n Rio 2011


    Ferramentas
        Google PageSpeed
        Firebug
        Yahoo YSlow
        Xdebug (profiling)
        HipHop para análise estática
         (http://talks.php.net/show/latinoware/18)
Técnicas para ser escalável com PHP
PHP'n 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
Técnicas para ser escalável com PHP
PHP'n Rio 2011




                 Obrigado!
                       @filipelaruina
                  filaruina@gmail.com

Mais conteúdo relacionado

PDF
PHP - Aula #01
PDF
Prepare-se para o próximo estágio da evolução PHP
PDF
Webinar php extreme 5.3
PPT
Zend Framework TotalFlex
ODP
Phpreact flisol-fb-2014
PPTX
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
PPTX
Deploy automático em projeto PHP - PHPSPIMA 2016
PDF
Entendendo Conceitos Caching com PHP
PHP - Aula #01
Prepare-se para o próximo estágio da evolução PHP
Webinar php extreme 5.3
Zend Framework TotalFlex
Phpreact flisol-fb-2014
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Deploy automático em projeto PHP - PHPSPIMA 2016
Entendendo Conceitos Caching com PHP

Destaque (7)

PDF
Guia do mochileiro para escalabilidade
PDF
RubyMastersConf - Escalabilidade do S.O. ao Rails
PDF
PHP para aplicações Web de grande porte
DOCX
Segurança em sistemas distribuidos
PDF
Escalabilidade e Disponibilidade em Arquiteturas Web
PPTX
Otimização e Escalabilidade
PPT
Escalabilidade de Aplicações Web
Guia do mochileiro para escalabilidade
RubyMastersConf - Escalabilidade do S.O. ao Rails
PHP para aplicações Web de grande porte
Segurança em sistemas distribuidos
Escalabilidade e Disponibilidade em Arquiteturas Web
Otimização e Escalabilidade
Escalabilidade de Aplicações Web
Anúncio

Semelhante a Técnicas para ser escalável com PHP (20)

PDF
Performance (Web&PHP)
PDF
4. Introdução ao PHP.pdf
PDF
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
PDF
REST: Faça o Serviço Direito
PDF
TDC2016POA | Trilha IoT - Controlando AR Drone com PHP
PDF
PW01 - Introdução a programação em PHPv7
PDF
Phpjedi 090307090434-phpapp01 2
PDF
Case PHP como base de digital asset management arizona
PDF
De 1 a 1.000.00 de usuários
PDF
2290494 integrando-flex-com-php
PDF
Ligação do Flex a um backend LAMP usando AMFPHP
PDF
FISL12. Web Services e Computação em Nuvem com PHP
PDF
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
PPTX
Minicurso Web. Front-end e HTML5 (parte 2)
PDF
PHP Jedi - Boas Práticas e Alta Performance
PDF
Apache PHP MySQL
PDF
PHP e componentes reutilizáveis
PDF
Cache e Performance (in portuguese)
PPTX
Php Visao Geral Svs
Performance (Web&PHP)
4. Introdução ao PHP.pdf
Reduzindo Tempo de Resposta do Servidor - WordCamp BH 2014
REST: Faça o Serviço Direito
TDC2016POA | Trilha IoT - Controlando AR Drone com PHP
PW01 - Introdução a programação em PHPv7
Phpjedi 090307090434-phpapp01 2
Case PHP como base de digital asset management arizona
De 1 a 1.000.00 de usuários
2290494 integrando-flex-com-php
Ligação do Flex a um backend LAMP usando AMFPHP
FISL12. Web Services e Computação em Nuvem com PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
Minicurso Web. Front-end e HTML5 (parte 2)
PHP Jedi - Boas Práticas e Alta Performance
Apache PHP MySQL
PHP e componentes reutilizáveis
Cache e Performance (in portuguese)
Php Visao Geral Svs
Anúncio

Último (11)

PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Manejo integrado de pragas na cultura do algodão
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Arquitetura de computadores - Memórias Secundárias
Eng. Software - pontos essenciais para o início
Mecânico de Manutenção de Equipamentos.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

Técnicas para ser escalável com PHP

  • 1. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n Rio 2011  O que é Escalabilidade?  Não é performance (mas ela afeta)  Manter a performance  Escalável = Aguenta aumento de tráfego
  • 3. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n Rio 2011  Arquitetura  Servidores de Memcache  Armazena Sessões  Armazena resultados de queries  Servidores de Gearman  Armazena seus Jobs
  • 7. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n Rio 2011  Ferramentas  Google PageSpeed  Firebug  Yahoo YSlow  Xdebug (profiling)  HipHop para análise estática (http://talks.php.net/show/latinoware/18)
  • 10. Técnicas para ser escalável com PHP PHP'n 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. Técnicas para ser escalável com PHP PHP'n Rio 2011 Obrigado! @filipelaruina filaruina@gmail.com