Práticas recomendadas para PHP e IIS

1

Estou executando o IIS e o PHP e estamos tendo alguns gargalos no teste de carga. As páginas são armazenadas em cache, mas às vezes podemos obter tempos de carregamento de até 30 segundos para um usuário. Isso parece acontecer quando o cache expira. Estamos analisando várias coisas diferentes para corrigir esse problema, portanto, um dos nossos primeiros lugares é o IIS e o PHP. Normalmente eu executo o PHP no Apache e realmente não tenho esses problemas. Alguém tem algumas boas dicas / melhores práticas para executar o PHP no IIS? Nós já temos o FastCGI ativado.

    
por JoeCianflone 10.05.2011 / 21:19

2 respostas

2

PHP no IIS é executado corretamente. Não é perfeito, e provavelmente não é "ideal", mas o casamento dos dois não causará inerentemente 30 segundos de tempo de carregamento.

Você será melhor servido inserindo um temporizador em todo o seu código PHP para determinar que linha (s) estão causando o grande atraso, se é realmente um problema no lado da geração da página. Se houver um problema ao carregar elementos incorporados, você pode estar bem servido analisando-o com o Firebug ou com as ferramentas de análise do Google Code: link

    
por 10.05.2011 / 21:35
0

Além disso, uma coisa para manter em mente, você disse que há muita coisa acontecendo "por baixo do capô" do aplicativo. Estou assumindo que há um back-end de banco de dados. Com isso dito, se o seu MySQL eu tenho este texto que eu usei no passado para ajudar a diagnosticar consultas lentas do MySQL que poderiam ser parte do problema. Estou assumindo que existem opções similares com MSSQL, etc.

Para habilitar o log de consultas lentas do mysql Digite as seguintes linhas em /etc/my.cnf e reinicie o mysql

Ativar log de consultas lentas Essa é uma ótima ferramenta para verificar quais consultas demoram muito     log-slow-queries = / tmp / slow_queries.log     log-update = /var/lib/mysql/updates.log

O MySQL possui uma funcionalidade integrada que permite registrar consultas SQL em um arquivo. Você pode ativar os logs de consultas SQL completas em um arquivo ou apenas o log de consultas de execução lenta. É fácil para nós solucionar problemas / depurar a instrução sql se as consultas SQL ativarem o log. O log de consultas lentas é usado para localizar consultas que demoram muito tempo para serem executadas e, portanto, são candidatas a otimização.

Para permitir, você só precisa adicionar algumas linhas ao seu arquivo my.cnf e reiniciar. Adicione o seguinte:

Para ativar somente o log de consulta lenta     log-slow-queries = /var/log/mysql/mysql-slow.log     long_query_time = 1

Depois de ativar a consulta lenta, o mysqld escreve uma instrução no arquivo de log de consultas lentas e consiste em todas as instruções SQL que levaram mais de long_query_time segundos para serem executadas. O tempo para adquirir os bloqueios de tabela iniciais não é contado como tempo de execução. O mysqld somente registra após as instruções SQL terem sido executadas e após todos os bloqueios terem sido liberados, então a ordem do log pode ser diferente da ordem de execução. Os valores mínimo e padrão de long_query_time são 1 e 10, respectivamente.

Para habilitar a consulta de log completa log = / var / log / mysqldquery.log

    
por 16.05.2011 / 23:14

Tags