A Microsoft lançou um beta de um acelerador do PHP, o Windows Cache Extension para PHP. Com ele, vamos ter um desempenho ainda melhor para o PHP no IIS. Ele usa uma técnica de Caching que resulta em melhores resultados de desempenho. Qualquer aplicação pode usar essa funcionalidade, sem precisar alterar o código.
PHP opcode cache
PHP é uma engine de processamento de script, que lê um fluxo de entrada de dados que contém o texto e/ou as instruções de PHP e produz um fluxo de dados, geralmente no formato HTML. Isto significa que em um servidor web a engine do PHP lê, analisa, compila e executa um script PHP cada vez que é solicitado por um cliente Web (HTTP). A leitura, análise e operações da compilação coloca carga adicional na CPU do servidor web e no filesystem e, portanto, afeta o desempenho geral de uma aplicação web PHP. O bytecode do PHP (opcode) cache é usado para armazenar o bytecode do script compilado na memória compartilhada, para que possa ser reutilizada pela engine na execuções do PHP subseqüentes do mesmo script.
File Cache
Mesmo com o PHP bytecode cache ativado, a engine do PHP tem que acessar os arquivos dos script no filesystem do servidor. Quando os scripts PHP são armazenados em um compartilhamento de arquivos remotos UNC, pode gerar uma sobrecarga no servidor. O Windows Cache Extension inclui um arquivo de cache que é usado para armazenar o conteúdo dos arquivos dos script do PHP em memória compartilhada, o que reduz a quantidade de operações realizadas no filesystem do servidor.
Download:
Windows Cache Extension 1.0 for PHP 5.2 – Beta
Windows Cache Extension 1.0 for PHP 5.3 – Beta
Pré-Requisitos:
- Só pode ser utilizado quando o IIS é configurado para executar o PHP via FastCGI.
- A extensão só pode ser usada com as versões non-thread-safe do PHP.
- Para utilizar na versão do PHP 5.3, é necessário utilizar a versão VC9 x86.
OS Suportados:
- Windows XP SP3 com IIS 5.1 e FastCGI Extension
- Windows Server 2003 com IIS 6.0 e FastCGI Extension
- Windows Vista SP1 com o IIS 7.0 e FastCGI Module
- Windows Server 2008 com IIS 7.0 e FastCGI Module
- Windows 7 com o IIS 7 e FastCGI Module
- Windows Server 2008 R2 com o IIS 7.0 e FastCGI Module
Como instalar:
1 – Efetue o download da DLL e coloque no diretório ext da instalação do PHP.
2 – Edite o PHP.ini e adicione: extension = php_wincache.dll
Para verificar se a extensão foi habilitada, criar um arquivo chamado phpinfo.php com o seguinte código PHP que chama a função phpinfo ():
<? php phpinfo ();?>
Depois de salvar o arquivo .php, abra ele pelo Internet Explorer: http://seusite.com.br/phpinfo.php. Nessa página, será mostrado o que está habilitado no PHP, procure por wincache. Se a extensão estiver habilitada, então você deve ver as configurações fornecidas pelo Windows Cache Extension para o PHP.
Fontes:
http://blogs.iis.net/ruslany/archive/2009/09/02/windows-cache-extension-for-php-and-cpu-usage.aspx
http://blogs.iis.net/ruslany/archive/2009/09/01/windows-cache-extension-1-0-for-php-beta.aspx
http://www.iis.net/extensions/WinCacheForPHP
http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/
Esta informação e realmente muito interessante e me ajudou a resolver um problema que começou apos usar a plataforma web para instalar PHP para IIS 6 no windows 2003 server na minha maquina de desenvolvimento. Valeu