RIP HHVM. Chegou a hora de se despedir do HHVM quando se trata de alimentar os seus sites WordPress. Nós não apoiamos mais ou oferecemos HHVM na Kinsta. Ele nunca foi oficialmente suportado e a equipe do WordPress parou de testá-lo há mais de um ano. HHVM v3.30 será também a última série de versões a suportar PHP.

Devido a problemas crescentes de compatibilidade, degradação de desempenho e não mais suporte a PHP, não é mais uma opção viável para sites WordPress de produção. Por isso, nós eliminamos o HHVM a partir de 20 de agosto de 2018, para todos os clientes.

Se você está atualmente usando HHVM em seus sites, confira mais detalhes abaixo sobre como essa mudança afeta você e o que você precisa fazer. Também discutimos porque é que esta não é uma mudança negativa.

Histórico do HHVM

Antes de mergulharmos no porquê da HHVM estar indo embora, vamos dar uma olhada rápida no porquê da Kinsta ter começado a oferecê-la em primeiro lugar.

Tudo começou com um pequeno (ou o que costumava ser pequeno) site chamado Facebook. 😉 Foi originalmente escrito em PHP e quando o site começou a tirar o poder computacional que era necessário para atender a todas as solicitações estava fora dos gráficos. Isto se devia principalmente às ineficiências dos mecanismos de execução do PHP que estavam disponíveis naquela época. Assim, os engenheiros e desenvolvedores do Facebook tiveram uma idéia brilhante. Em vez de simplesmente comprar mais servidores, por que não resolver o problema a nível de software?

Então eles criaram um compilador PHP para C++ chamado HPHPc. O código PHP original foi compilado em binários executáveis (às vezes o tamanho dos arquivos chega a atingir até um gigabyte!) e ele foi executado em vez de ser compilado para opcodes e interpretado.

Isto resultou em cerca de seis vezes a performance, o que é enorme! Seis vezes mais rápido pode não parecer muito, mas se você olhar para ele da seguinte maneira, pode ajudar a colocá-lo em perspectiva. Ao invés de ter que comprar 600 servidores para alimentar um serviço web, você só precisa de 100. Isso é uma economia incrível simplesmente devido ao fato de que você simplesmente mudou a maneira como você executa o código.

Entretanto, como você pode imaginar, rodar e manter versões separadas para desenvolvedores e depuradores do HipHop (chamadas HPHPi e HPHPd, respectivamente), além de distribuir gigabytes de executáveis para cada máquina depois de apenas algumas mudanças no código (pense em correção de bugs), rapidamente se tornou cansativo e desafiador.

Assim, em 2013 o Facebook decidiu desativar a HPHPc, mas reciclar o código e as experiências obtidas ao tê-lo em produção por pelo menos três anos e lançar a HipHop Virtual Machine (HHVM). Este mecanismo converteu PHP em bytecode que é então convertido em código de máquina de 64 bits em tempo de execução por um compilador just-in-time (JIT). Isto, por sua vez, resultou em ganhos de desempenho ainda maiores! 🚀

HHVM logo
HHVM

Muitos sites exigentes e de alto tráfego na Kinsta têm utilizado HHVM ao longo dos anos e têm visto incríveis diminuições nos tempos de carregamento. O HHVM também permite o cache de objetos, que é um sistema de cache interno que foi introduzido pelo WordPress para armazenar dados do banco de dados na memória PHP. Isto aumenta a eficiência da base de dados ao reduzir o número de chamadas à base de dados e acelera o tempo de execução do PHP. Isto significa que o HHVM sempre foi ótimo para sites mais dinâmicos e com muito conteúdo não cacheável.

Mas infelizmente, com tudo isso dito, a HHVM tem seguido seu curso quando se trata de WordPress e PHP. Nós vamos mergulhar no porquê abaixo.

HHVM não é mais uma opção para WordPress

Aqui estão apenas algumas das muitas razões pelas quais a HHVM não é mais uma tecnologia adequada para clientes WordPress ou Kinsta.

Primeiramente, o HHVM terminou o suporte ao PHP inteiramente a partir da versão v3.30.

Em segundo lugar, é importante notar que a HHVM, de fato, nunca foi oficialmente suportada pelo WordPress. Ele foi tornado compatível graças a alguns membros da equipe do  WordPress que eram obcecados pela velocidade (#27881). Alguns provedores de hospedagem WordPress, como a Kinsta, então disponibilizaram isso (lançamos em 2016) aos clientes para aproveitar os ganhos adicionais de desempenho.

O WordPress realmente parou de incluir o HHVM como parte de sua infraestrutura central de testes a partir de maio de 2017 (mais de um ano atrás). Aqui está o que John Blackbourn, um Desenvolvedor do núcleo WordPress, tinha a dizer sobre isso:

Se você estiver rodando um site WordPress em HHVM, você deve considerar mudar para o PHP 7+ que é muito mais amplamente suportado e testado, e oferece todos os benefícios de memória e desempenho que o HHVM impulsionou.

Devido ao HHVM não ser mais testado por membros da equipe do núcleo WordPress, começaram a surgir bugs e problemas de compatibilidade. Muitos deles temos testemunhado em primeira mão (#8194). O que começou como uma gota de falhas há quase um ano atrás tornou-se um fluxo constante de falhas com a última versão do HHVM, e agora estão afetando a funcionalidade de plugins e temas populares de terceiros para WordPress. Portanto, o HHVM não é mais uma solução estável ou adequada para sites WordPress.

Além do suporte para hospedagem HHVM, nossos benchmarks PHP vs HHVM têm mostrado que o PHP 7.2 realmente executa mais rápido que o HHVM. Pela primeira vez, o PHP levou o troféu em todos os testes; que incluíram um site WordPress autônomo, WooCommerce e Downloads digitais fáceis. 🏆

Benchmarks do WordPress (PHP vs HHVM)
Benchmarks do WordPress (PHP vs HHVM)

E o PHP 7.3 e 7.4 são ainda mais rápidos. Confira os nossos resultados de benchmark do PHP.

Benchmarks PHP WordPress 5.0
Benchmarks PHP WordPress 5.0

Portanto, recomendamos o uso do PHP 7.4 para o melhor desempenho. Atualmente oferecemos PHP 7.2, 7.3, e 7.4 no painel do MyKinsta. Você pode mudar facilmente entre os mecanismo PHP com um único clique.

Mude para PHP 7.4
Mude para PHP 7.4

Fim de vida do HHVM

Abaixo estão todos os detalhes e prazos em relação à nossa eliminação progressiva da HHVM.

  • A partir de 15 de junho de 2018, a mudança para HHVM não estava mais disponível no painel do MyKinsta. Importante: Se você se afastou da HHVM após esta data, você não pôde mais voltar.
  • Em 20 de agosto de 2018, a HHVM foi completamente eliminada. Isto significa que todos os sites HHVM foram trocados para PHP 5.6+ e HHVM foi completamente removido do painel MyKinsta.

Mudando de HHVM para PHP

A Kinsta atualiza regularmente o software do lado do servidor para manter as coisas atualizadas, não apenas por uma razão básica de segurança, mas também pelo desempenho.

Como em qualquer software, o PHP tem um ciclo de vida de lançamento ao qual tem de aderir para continuar avançando e fazendo melhorias. Cada grande lançamento de PHP é tipicamente totalmente suportado durante dois anos após o seu lançamento. Durante esse tempo, bugs e problemas de segurança são corrigidos regularmente.

Versões PHP suportadas para WordPress
Versões PHP suportadas para WordPress

Como você pode ver acima, o PHP 5.6 e 7.0 já se foram e o 7.2 será gradualmente eliminado de forma similar no final de 2020. É por isso que nós recomendamos altamente a mudança para uma versão mais alta do PHP o mais rápido possível, de preferência PHP 7.3 ou 7.4.

Para ajudar na transição, elaboramos um tutorial sobre como testar e mover seu site corretamente do HHVM para o PHP. Lembre-se, alguns plugins ou temas podem ter problemas de compatibilidade com versões mais recentes do PHP, então você deve seguir os passos que delineamos para garantir uma transição suave sem tempo de inatividade. Essa é também outra razão pela qual demos a todos um aviso! Para testar antes do prazo.

Resumo

O WordPress teve um bom desempenho com HHVM e, para muitos de vocês, ele tem proporcionado velocidades muito rápidas! Mas não se preocupem, vocês devem ver velocidades ainda mais velozes no PHP 7.4. A longo prazo, estamos entusiasmados com esta mudança. Para um, isso significa que não haverá mais confusão entre qual mecanismo PHP você deve usar para seu site. Significa também que mais tempo será gasto melhorando a linguagem essencial do PHP em termos de desempenho na plataforma WordPress.

Se você tiver qualquer pensamento ou preocupação sobre a nossa eliminação progressiva da HHVM, sinta-se à vontade para contactar a nossa equipa de apoio 24 horas por dia, 7 dias por semana. Nós também gostaríamos de ouvir seu feedback abaixo em relação à mudança para o PHP.

Brian Jackson

Brian tem uma enorme paixão pelo WordPress, e tem utilizado há mais de uma década e até desenvolve alguns plugins premium. Brian gosta de blogs, filmes e caminhadas. Conecte-se com Brian no Twitter.