Cache e Performance (in portuguese)
Upcoming SlideShare
Loading in...5
×
 

Cache e Performance (in portuguese)

on

  • 3,516 views

 

Statistics

Views

Total Views
3,516
Views on SlideShare
3,502
Embed Views
14

Actions

Likes
6
Downloads
58
Comments
0

3 Embeds 14

http://www.slideshare.net 11
http://www.linkedin.com 2
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cache e Performance (in portuguese) Cache e Performance (in portuguese) Presentation Transcript

  • Cache e Performance PHP Advanced - 23 de Setembro de 2008 Bruno Pedro <bpedro@tarpipe.com>
  • PHP Advanced Conteúdo • Arquitectura • Profiling • Benchmarking • Cache • Compressão • Projecto • Resumo Cache e Performance 2
  • PHP Advanced Arquitectura Load Balancer • Determina a forma como o sistema se comporta Web Server Web Server • Afecta directamente a escalabilidade • Consequentemente afecta a performance do sistema storage MySQL Cache e Performance 3
  • PHP Advanced Arquitectura • Vários front-ends respondem a pedidos dos utilizadores • Dados de sessão devem ser gravados num storage partilhado • Scripts e conteúdo estático devem ser gravados em storage local • Escala horizontalmente Cache e Performance 4
  • PHP Advanced Arquitectura • Exemplo: 2 frontends, com escalabilidade Load Balancer Web Server Web Server storage MySQL Cache e Performance 5
  • PHP Advanced Arquitectura • Exemplo: 2 frontends, 2 MySQLs Load Balancer Web Server Web Server MySQL MySQL storage read write Cache e Performance 6
  • PHP Advanced Arquitectura • Exemplo: 2 frontends, 2 MySQLs reads, 1 MySQL write Load Balancer Web Server Web Server Load Balancer MySQL storage write MySQL MySQL read read Cache e Performance 7
  • PHP Advanced Profiling • Permite medir os tempos de execução de um script, ou de parte de um script • Permite medir a utilização de memória durante a execução de um script • Fornece informação que ajuda a melhorar a performance de toda a aplicação Cache e Performance 8
  • PHP Advanced Profiling • Xdebug: http://www.xdebug.org/ • Zend Platform: http://www.zend.com/ Cache e Performance 9
  • PHP Advanced Profiling Cache e Performance 10
  • PHP Advanced Benchmarking • Permite medir os tempos de execução de um script ou conjunto de scripts, remotamente • Ajuda a compreender até que ponto um Web Site consegue responder a pedidos • Tipicamente é executado repetidamente ou durante um período de tempo Cache e Performance 11
  • PHP Advanced Benchmarking • ab (Apache Benchmark): http://httpd.apache.org/docs/2.0/programs/ab.html • JMeter: http://jakarta.apache.org/jmeter/ Cache e Performance 12
  • PHP Advanced Conteúdo estático • Não envolve processamento • Fornecido directamente pelo Web Server • Leve e rápido • Exemplos: • imagens, HTML, CSS, JavaScript Cache e Performance 13
  • PHP Advanced Conteúdo dinâmico • Envolve processamento no servidor • Tipicamente um script é interpretado • Mais lento que o conteúdo estático • Exemplos: • Perl, PHP, Python, Ruby Cache e Performance 14
  • PHP Advanced Objectivos • Sempre que possível, usar todo o conteúdo estático • Dividir as páginas em blocos estáticos e dinâmicos, minimizando a quantidade de blocos dinâmicos • Utilizar cache nos blocos dinâmicos Cache e Performance 15
  • PHP Advanced Cache • Permite gravar conteúdo dinâmico de modo a servi-lo estático • Tem um tempo de vida, findo o qual o conteúdo volta a ser gerado dinamicamente • Tipicamente o conteúdo estático é gravado no disco Cache e Performance 16
  • PHP Advanced PEAR::Cache_Lite • Instalação: pear install Cache_Lite • Permite gravar conteúdo em cache • Optimizado para a rapidez de escrita e leitura • Grava conteúdo em disco ou memória • Serializa conteúdo antes de gravar Cache e Performance 17
  • PHP Advanced PEAR::Cache_Lite • Opções importantes • cacheDir: directório onde os ficheiros de cache serão gravados • lifeTime: tempo de vida da cache • automaticSerialization: serialização automática do conteúdo a ser gravado • memoryCaching: liga a cache em memória Cache e Performance 18
  • PHP Advanced PEAR::Cache_Lite Cache e Performance 19
  • PHP Advanced Compressão • Permite servir conteúdo comprimido • Depende das capacidades de cada browser • Pode ser configurada através do Apache (httpd.conf ou .htaccess) • Pode ser iniciada a partir do PHP • Oferece poupanças na largura de banda utilizada Cache e Performance 20
  • PHP Advanced Compressão • Configuração no Apache SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html Cache e Performance 21
  • PHP Advanced Compressão • Iniciação no PHP através de ob_gzhandler Cache e Performance 22
  • PHP Advanced Compilação de código • Transforma o código PHP em opcodes • Código permanece em memória • É mais rápido a executar • Não requer interpretação dos scripts Cache e Performance 23
  • PHP Advanced Compilação de código • Zend Optimizer: http://www.zend.com/ • APC: http://www.php.net/apc Cache e Performance 24
  • PHP Advanced Projecto • Inserção de cache na visualização dos resultados • Determinação do correcto tempo de vida da cache através do TTL dos RSS • Finalização do projecto Cache e Performance 25
  • PHP Advanced Resumo • Diferentes tipos de arquitectura • Profiling e benchmarking • Conteúdo estático vs conteúdo dinâmico • Cache através de PEAR::Cache_Lite • Compressão • Compilação Cache e Performance 26
  • PHP Summer School Questões? OOP em PHP 27
  • PHP Advanced Mais informação • O meu blog: http://unfoldingtheweb.com/ • Manual de PHP: http://www.php.net/ • PEAR: http://pear.php.net/ Cache e Performance 28