[deprecated]dicas para aumentar a performance de um software php
DESCRIPTION
Slides used at 1º /dev/net. The slides shows tips on how to improve PHP software performance.TRANSCRIPT
Dicas para aumentar a performance de um software PHP
Almir Neto – [email protected]
1º dev/net
http://www.aslgo.org.br/dev/net
Goiânia, 08 de Novembro de 2008
Dicas para aumentar a performance de um software PHP
Grupo de Desenvolvedores PHP de Goiás
● Lista de Discussão● Troca de Conhecimentos● Encontros● Palestras● Eventos● http://www.php.org.br● http://www.gophp.com.br
Dicas para aumentar a performance de um software PHP
Almir [email protected]
1 - Sempre declare métodos como estáticos
O fator de otimização é de 4x
Dicas para aumentar a performance de um software PHP
Almir [email protected]
2 - echo é mais rápido que print
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
Dicas para aumentar a performance de um software PHP
Almir [email protected]
3 – Utilize echo com vários parâmetros. Não concatene
strings.
echo(“Moro em ”, $cidade, “/”, $uf);
Dicas para aumentar a performance de um software PHP
Almir [email protected]
4 – Defina o valor máximo de um laço de repetição FOR antes de
sua definição//Não usar
for($i=0; $i < count($array); $i++)//Use
$max_for = count($array);for($i=0; $i < $max_for; $i++)
Dicas para aumentar a performance de um software PHP
Almir [email protected]
5 – utilize o método unset() em variáveis que não serão mais utilizadas, principalmente em
arrays.O método unset() libera a variável da
memória, fazendo com que o PHP tenha mais memória para trabalhar
Dicas para aumentar a performance de um software PHP
Almir [email protected]
6 – Tente não usar métodos magicos, como: __get, __set,
__autoload
Dicas para aumentar a performance de um software PHP
Almir [email protected]
7 – include() é mais rápido que require().
Além disso não utilize include_once() ou require_once(), já que o PHP faz uma série de verificações ao utilizar esses
métodos.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
8 - Use caminhos completos em includes e requires
O PHP gasta menos tempo resolvendo os caminhos.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
9 – str_replace é mais rápido que preg_replace, mas strtr é
ainda 4x mais rápido que str_replace.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
10 – É melhor usar switch/case do que multiplos if’s e else.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
11 - Usar supressão de erros com @ na frente da função é
muito lento.Erros podem ser suprimidos na
configuração do PHP ou com funções específicas para essa finalidade como
display_errors().
Dicas para aumentar a performance de um software PHP
Almir [email protected]
12 – Ative o mod_deflate do apache.
O mod_deflate compacta os arquivos que serão enviados para o navegador do
cliente, tornando a resposta mais rápida.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
13 – Feche as conexões com o banco de dados após finalizar
sua utilização
Dicas para aumentar a performance de um software PHP
Almir [email protected]
14 – $row[’id’] é 7x mais rapido que $row[id]
Ao colocar o id entre aspas, o PHP sabe que se trata de uma string e não precisa
fazer conversões.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
15 – Mensagens de erro deixam a aplicação lenta.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
16 – Não use funcões dentro de loops
for ($x=0; $x < count($array); $x)
A função count() é chamada em cada iteração.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
17 – Incrementar uma variável local é mais rápido que uma
global
Dicas para aumentar a performance de um software PHP
Almir [email protected]
18 – Incrementar uma variável global é 2x mais lento que em
uma variável local.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
19 – Incrementar um atributo ( $this->var++) é 3x mais lento
que uma variável local.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
20 – Incrementar uma variável local não definida é de 9x a 10x mais lento do que uma variável
local pré-inicializada.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
21 – Declarar uma variável global sem usá-la em uma
função deixa a aplicação lenta.
O PHP provavelmente faz um checagem para ver se existe a nível global
Dicas para aumentar a performance de um software PHP
Almir [email protected]
22 – Métodos de classes filhas são mais rápidos que métodos
da classe base.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
23 – Quando for utilizar uma string sem variáveis, prefira
aspas simples ' do que aspas duplas “.
Dessa maneira o PHP não precisa procurar caracteres especiais a serem interpretados.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
24 – Procure utilizar somente HTML quando possível.
Dessa maneira o programa fica até 10x mais rápido pois os caracteres HTML não são interpretados pelo PHP, indo diretamente
para o navegador do cliente.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
25 – Utilize uma solução de cache.
Os scripts PHP são recompilados a cada requisição. Com uma solução de cache essa
recompilação não é feita a todo o tempo.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
26 – Prefira utilizar isset() ao invés de strlen() para checar o
tamanho de uma string.//Não usar
if(srtlen($var) < 5) echo “Lento!”;//Use
if (!isset($var{5})) echo "Mais rápido!";
Dicas para aumentar a performance de um software PHP
Almir [email protected]
27 – Ao incrementar um valor, prefira ++$i do que $i++ quando
possível.
Utilizar $i++ faz com que o PHP execute uma operação a mais do que ++$i;
Dicas para aumentar a performance de um software PHP
Almir [email protected]
28 – Nem tudo precisa ser POO.
Sistemas POO são geralmente mais lentos pois chamadas a métodos e objetos geram
um grande consumo de memória.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
29 – Arrays são mais rápidos que classes.
Sempre que possível utilize arrays ao invés de classes.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
30 – Não divida muito os métodos. Menor quantidade de métodos = menos chamadas de
métodos.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
31 - Escreva suas funções em C
O PHP permite a escrita de funções em C e utilizá-las como extensão do PHP. Dessa
maneira a velocidade aumenta consideravelmente.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
32 – Utilize o módulo mod_gzip do Apache
Com esse módulo ativo seus dados são comprimidos e a transferência de dados
diminui em até 80%.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
33 – Configure o Apache de acordo com suas necessidades
O Apache permite uma série de configurações que pode fazer com que seu
sistema fique bem mais rápido.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
34 – Configure o IIS de acordo com suas necessidades
O IIS também tem configurações que fazem com que os sistemas funcionem de maneira
eficaz.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
35 – Utilize o servidor de otimização da Zend
Com o Zend Optimizer seus scripts podem ser otimizados em até 50%.
Dicas para aumentar a performance de um software PHP
Almir [email protected]
36 – Utilize as funcões de Output Buffer
Imprimir informações várias vezes pode deixar um script lento. Com as funções de
Output Buffer, as informações são armazenadas na memória e exibidas de uma
só vez.http://php.net/manual/en/book.outcontrol.php
Dicas para aumentar a performance de um software PHP
Almir [email protected]
37 – Utilize um sistema de Profile para medir o tempo de cada
parte do código
A extensão Xdebug faz bem esse trabalho.http://xdebug.org/docs/profiler
Dicas para aumentar a performance de um software PHP
Almir [email protected]
38 – Use Linux!!
Testes utilizando Linux/Apache e Windows/Apache mostram que o Linux
chega a ser 7x mais rápido que o Windows para interpretar PHP.
http://www.paessler.com/webstress/sample_performance_tests/comparing_php_script_performance_on_linux_and_windows
Dicas para aumentar a performance de um software PHP
Bibliografia / Agradecimentos• Artigo em Inglês:
- Reinhold Weberhttp://reinholdweber.com/?p=3
• Artigo Traduzido:- Lucas StephanouContribuições: Pablo Sánchez http://blog.lucas-ts.com/programacao/traducao-39-dicas-de-perfomance-php/
• Dicas de otimização do servidor: http://phplens.com/lens/php-book/optimizing-debugging-php.php
• Artigos da IBM sobre PHP: http://www.ibm.com/developerworks/opensource/top-projects/php.html http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=make+php+apps+fast
• Paesslerhttp://www.paessler.com/webstress/sample_performance_tests/comparing_php_script_performance_on_linux_and_windows
Almir [email protected]