OPcache: compare a velocidade e entenda a importância, na prática, em sites WordPress.

Vários são os servidores que possibilitam que o cliente ative o OPcache, entretanto, muitos são aqueles que deixam desativo, ou nem sabem que existe essa opção. O OPcache executa aquilo que sua sigla destrincha: o “cache de operação”.

O PHP executa em todo o carregamento de página o seu interpretador, pois toda vez que carrega a página ele precisa ler tudo do disco, depois passar para memória para interpretar e saber o que cada linha do código – mesmo que do wordpress – quer executar.

Usando o OPcache, ele começa a armazenar as operações “vitais”, fazendo com que tenhamos um tempo de carregamento mais rápido. Ele faz com que o carregamento de operações de um usuário seja reaproveitado para o outro.

Nesse artigo exploraremos o OPcache de várias formas diferentes, usando sempre o PHP 7.4, na hospedagem da MigraCloud, uma empresa parceira que indico sempre para os clientes.

 

Ambiente de testes: (Plano de hospedagem MigraCloud – WordPress Pro)

  • Tecnologia de servidor Nginx;
  • 4GB ram;
  • PHP 7.4
  • cPanel com WHM;

Conduziremos os seguintes testes, sempre com o cache do navegador desativo, simulando que é um usuário novo acessando o site.

Testes:

  • OPcache desativo
    • Sem plugin de cache
    • Com plugin de cache (WP Rocket)
    • Com plugin de cache (Litespeed Cache)
  • OPcache ativo
    • Sem plugin de cache
    • Com plugin de cache (WP Rocket)
    • Com plugin de cache (Litespeed Cache)

Metodologia:

Testaremos a página principal desse site atual, usando uma extensão do Google Chrome chamada Page Load Time, que utiliza da API própria da Google para metrificação de tempos do site, analisando desde possíveis redirecionamentos, passando pela resposta do servidor e depois pelo carregamento total da página.

Realizaremos sempre 3 testes sequenciais, com no mínimo 10 segundos e no máximo 15 segundo de intervalo entre cada teste consecutivo, registrando os três tempos de carregamento e logo após uma média. Arredondando sempre a média para cima, usando duas casas decimais.

Durante os testes 2.0, relacionados ao OPcache ativo, entre os testes 2.1, 2.2 e 2.3, serão realizados outros três carregamentos de página com o OPcache desativo, para não ocorrer influência de um cache no outro.

 

1.0 — OPcache desativo

1.1 — Sem plugin de cache

1º teste: 1,92 segundos

2º teste: 1,84 segundos

3º teste: 1,74 segundos

Média: 1,83 segundos

 

Print relativa ao teste 1.1, sem utilizar o OPcache, e sem utilizar plugins de cache.
Print relativa ao teste 1.1, sem utilizar o OPcache, e sem utilizar plugins de cache.

1.2 — Com plugin de cache (WP Rocket)

1º teste: 2,22 segundos

2º teste: 1,21 segundos

3º teste: 1,20 segundos

Média: 1,54 segundos

 

Após a realização do teste 1.2, ressalta um ponto interessante que será notado nos próximos pontos, mesmo com o OPcache ativoplugin de cache ativo. A primeira requisição terá um tempo de carregamento notoriamente mais alto, uma vez que ela é responsável por salvar no cache — seja ele em memória, arquivo ou banco de dados.

Print relativa ao teste 1.2, sem utilizar o OPcache, e sem utilizando o plugin de cache WP Rocket
Print relativa ao teste 1.2, sem utilizar o OPcache, e utilizando o plugin de cache WP Rocket

1.3 — Com plugin de cache (Litespeed Cache)

1º teste: 2,69 segundos

2º teste: 0,89 segundos

3º teste: 0,80 segundos

Média: 1,46 segundos

Print relativa ao teste 1.3, sem utilizar o OPcache, e sem utilizando o plugin de cache Litespeed Cache
Print relativa ao teste 1.3, sem utilizar o OPcache, e utilizando o plugin de cache Litespeed Cache

Temos um ganho significativo na velocidade do site em relação aos plugins de cache, vale ressaltar que o servidor que estamos testando utiliza da tecnologia de hospedagem Litespeed, então o plugin Litespeed Cache ter um melhor desempenho ante ao WP Rocket era esperado.

 

2.0 — OPcache ativo

2.1 — Sem plugin de cache

1º teste:  1,80 segundos

2º teste:  1,41 segundos

3º teste: 1,49 segundos

Média: 1,57 segundos (-14,7% em relação ao teste 1.1)

Print relativa ao teste 2.1, sem utilizar o OPcache, e sem utilizar plugins de cache.
Print relativa ao teste 2.1, sem utilizar o OPcache, e sem utilizar plugins de cache.

2.2 — Com plugin de cache (WP Rocket)

1º teste:  1,48 segundos

2º teste:  1,54 segundos

3º teste: 1,34 segundos

Média: 1,45 segundos (-5,42% em relação ao teste 1.2)

Print relativa ao teste 2.2, sem utilizar o OPcache, e utilizando o plugin de cache WP Rocket
Print relativa ao teste 2.2, sem utilizar o OPcache, e utilizando o plugin de cache WP Rocket

2.3 — Com plugin de cache (Litespeed Cache)

1º teste:  0,79 segundos

2º teste:  0,78 segundos

3º teste:  1,12 segundos

Média: 0,90 segundos (-38,58% em relação ao teste 1.3)

Print relativa ao teste 3.3, sem utilizar o OPcache, e utilizando o plugin de cache Litespeed Cache
Print relativa ao teste 3.3, sem utilizar o OPcache, e utilizando o plugin de cache Litespeed Cache

 

Resultados

Depois de todos os testes, chegamos a números efetivos de comparações com o OPcache ativo e desativo e os plugins de cache. Tendo uma diferença significativa até mesmo entre os plugins de cache, servindo esse teste para comparar os plugins também.

Como resultado, temos que um site com o OPcache e com o Litespeed Cache teve uma redução de mais de 50% no tempo de carregamento em relação ao site sem o OPcache e sem nenhum plugin de cache. Em números, reduziu de 1,83 segundos para 0,90 segundos de média o carregamento do site.

Conclusão

Avalie utilizar o OPcache em seu site WordPress e até mesmo em sistemas próprios. O desempenho melhora consideravelmente, mesmo em casos que não usamos cache de objeto (banco de dados), cache de arquivos e até mesmo de imagens.

Vale entrar em contato com a sua hospedagem para analisar se existe a possibilidade de ativar o OPcache.

Estou a disposição para te ajudar, caso precise.

Entre em contato comigo pelo WhatsApp.