O NGINX é um servidor web praticamente imbatível quando o assunto é servir arquivos estáticos, tais como html, css, png, jpg etc. E quando o PHP marca presença, como fica essa história? Bem, você pode processar as páginas PHP utilizando o HHVM ou o motor Zend PHP.
O HHVM (Hiphop Virtual Machine) é um compilador just-in-time desenvolvido pelo Facebook para executar aplicações que são escritas em PHP e linguagem Hack. Já o motor Zend PHP dispensa apresentações, uma vez em que este é a forma tradicional pela qual executamos aplicações PHP.
Não é foco deste post falar do servidor web Apache, mas vamos a uma comparação:
Trecho retirado do blog E-TINET:
Em um experimento usando o Apache 2.x e NGINX, para servir uma página HTML, temos o seguinte resultado:
* Apache: 4 processos WORKER, 30% CPU, 17MB de memória, conseguiu abrir 6.500 requests por segundo.
* Nginx: apenas 1 processo,15% CPU, 1MB de memória, conseguiu abrir 11.500 requests por segundo.
Agora vem a classica pergunta, devo utilizar o NGINX com HHVM ou com o motor Zend PHP? Não sei, depende do que você vai executar. Veja abaixo alguns gráficos esclarecedores:
WordPress 4.4
- WordPress 4.4 HHVM RepoAuthoritative benchmark result: 358.33 trans/sec
- WordPress 4.4 HHVM benchmark result: 335.13 trans/sec
- WordPress 4.4 PHP 7.0 benchmark result: 287.92 trans/sec
- WordPress 4.4 PHP 7.0 without opcache benchmark result: 84.87 trans/sec
Drupal 8.0.1
- Drupal 8 HHVM benchmark result: 1739.28 trans/sec
- Drupal 8 PHP 7.0 benchmark result: 917.10 trans/sec
- Drupal 8 PHP 5.6.16 benchmark result: 794.20 trans/sec
Magento 2.0 Community Edition
- Magento HHVM benchmark result: 192.19 trans/sec
- Magento PHP 7.0 benchmark result: 183.87 trans/sec
- Magento PHP 5.6.16 benchmark result: 113.34 trans/sec
Laravel 5.1.11
- Laravel 5.1.11 HHVM benchmark result: 1128.41 trans/sec
- Laravel 5.1.11 PHP 7.0 benchmark result: 1363.24 trans/sec
- Laravel 5.1.11 PHP 7.0 without opcache benchmark result: 245.60 trans/sec
Procedimento de instalação do NGINX e do HHVM: http://e-tinet.com/linux/servidor-web-nginx-hhvm/
Outros testes de performance: https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/