Estou executando um aplicativo Web baseado em PHP em nosso servidor baseado em nuvem do Windows 2008. O aplicativo, que roda bem fora do nosso ambiente (por exemplo, um servidor IIS diferente), mas é MUITO lento em nosso ambiente. Com base no Google, esta é uma situação relativamente comum.
Eu instalei o PHP e o MySQL através do método de implantação da Web IIS ...
Aqui está a nossa configuração:
- Windows 2008 Server Enterprise SP2 (32 bits)
- Microsoft-IIS / 7.0
- Versão do cliente MySQL: mysqlnd 5.0.8-dev - 20102224 $ Revisão: 321634 $
- Extensão do PHP: mysqli
- Atualização para o IIS 7.0 FastCGI
- Extensão de cache do Windows 1.1 para PHP 5.3
Eu já havia lido em outro lugar que o ipv6 poderia ser um problema, então desativei o adaptador de rede.
O aplicativo está usando: localhost como sua conexão
Seja fácil comigo, pois sou um pouco verde em relação a alguns desses componentes ... Além disso, reescrever o aplicativo PHP ou modificá-lo NÃO é uma opção. Estou razoavelmente certo de que nossa configuração é o problema.
Há uma boa apresentação em PHP no Windows aqui
Este artigo sugere que você obtenha os binários php seguros sem thread para Windows. Você já olhou para isso?
Você usou o instalador da web da Microsoft ou configurou php et al. você mesmo?
Wincache também parece uma boa ideia: http://www.iis.net/download/WinCacheForPhp
fonte
Com base nesta postagem do blog, Fix: php mysql é MUITO lento , eu determinei que, no meu caso, o problema é resultado da resolução de nomes do MySQL. Por favor, veja isto para obter a documentação completa, mas você poderá corrigir o problema modificando a adição do seguinte ao seu
my.ini
e reiniciando o mysqld.Seus tempos de resposta devem aumentar drasticamente. Infelizmente, você não poderá mais se conectar ao MySQL usando nomes de host e, em vez disso, precisará usar endereços IP.
fonte