De quanta RAM precisa o WordPress?
O WordPress em si precisa de pouca memória e os seus requisitos oficiais não indicam nenhum valor de RAM. Para um site pequeno, 1 a 2 GB de RAM costumam ser um bom ponto de partida (uma regra prática que varia com o site). Lojas, muitos plugins e tráfego intenso podem elevar a necessidade para 4 GB ou mais.
O que realmente precisa depende do tipo de site: os plugins, o tráfego, o tamanho da base de dados e se a cache está ativa. Este artigo aborda os valores oficiais, o que consome memória e como perceber quando não chega.
O que dizem os requisitos oficiais?
A página de requisitos de alojamento do WordPress.org (uma recomendação oficial) pede PHP 8.3 ou mais recente, MariaDB 10.11 ou MySQL 8.0 ou mais recente, e suporte para HTTPS. Recomenda o Apache ou o Nginx como servidor web. A página não indica valor para a RAM. Versões mais antigas, como o PHP 7.4 e o MySQL 5.5.5, ainda funcionam, mas a página nota que chegaram ao fim de vida e trazem riscos de segurança. Numa instalação nova, escolha as versões recomendadas.
Os únicos valores oficiais de memória são os limites que o PHP concede ao WordPress. Numa instalação de um só site, o WP_MEMORY_LIMIT predefinido é de 40 MB e, em multisite, de 64 MB. A área de administração usa WP_MAX_MEMORY_LIMIT, e o núcleo do WordPress tenta elevá-lo para 256 MB por predefinição. São tetos para um único pedido PHP, não a RAM total do servidor. Pode verificar os valores aplicados ao seu site em Tools > Site Health > Info: o limite de memória do PHP aparece na secção Server, enquanto WP_MEMORY_LIMIT e WP_MAX_MEMORY_LIMIT aparecem na secção WordPress Constants.
O que consome realmente a RAM?
- Processos PHP. Cada pedido em simultâneo executa um processo PHP. No PHP-FPM,
pm.max_childrenlimita quantos podem correr ao mesmo tempo (veja o manual do PHP). Consoante os plugins, um processo pode usar desde dezenas até centenas de megabytes. É uma observação geral e difere de site para site. - A base de dados. O MariaDB ou o MySQL mantêm na memória os dados lidos com frequência. Sites grandes e com muitos plugins pedem mais.
- A cache do sistema operativo. O Linux usa a memória livre como cache de disco. Ver pouca memória livre no resultado de
free -hnão é um problema. Olhe antes para a coluna available. - Camadas de cache. Uma cache de objetos (como o Redis) reduz as consultas à base de dados, mas ocupa memória própria.
Eis um exemplo simples. Num servidor com 2 GB de RAM, se reservar cerca de 1 GB para o sistema operativo e a base de dados, sobra 1 GB para o PHP. Se um processo PHP usar em média 100 MB, faz sentido manter pm.max_children por volta de 10. Estes números só mostram como o cálculo funciona. As suas próprias medições podem dar valores diferentes.
Tamanho inicial por tipo de site
Estes valores são regras práticas. Variam com os plugins e o tráfego, e não são uma promessa firme.
| Tipo de site | RAM inicial | Nota |
|---|---|---|
| Blogue pequeno ou site institucional, poucos plugins | 1-2 GB | Ative a cache de páginas |
| Site de empresa com muitos formulários e imagens | 2-4 GB | Reduza o tamanho das imagens |
| Construtor de páginas, site de subscritores, muitos plugins | 4 GB | Mais páginas que não podem ser guardadas em cache |
| Loja online (WooCommerce) | 2-4 GB, mais à medida que cresce | As páginas de carrinho e de pagamento não podem ser guardadas em cache |
Se está a montar uma loja, leia também o nosso artigo «Escolher um servidor para o WooCommerce».
O que se vê quando a RAM acaba?
- O site devolve de vez em quando um erro 502 ou 503. O PHP-FPM ou o servidor web não consegue responder.
- Aparece a mensagem «Error establishing a database connection». A base de dados pode ter sido parada porque a memória acabou.
- A área de administração fica muito lenta, e as atualizações de plugins ou os carregamentos de imagens bloqueiam a meio.
Para confirmar, ligue-se ao servidor e execute estes comandos:
free -h
sudo journalctl -k | grep -i -E "out of memory|oom-kill"
O segundo comando lista os eventos em que o kernel parou um programa por falta de memória. Se devolver linhas, a RAM não chega. No top, prima Shift+M para ver os processos que mais memória usam.
O que pode tentar antes de aumentar
- Configure uma cache de páginas, como plugin ou do lado do servidor. Uma página servida a partir da cache não executa PHP nem a base de dados.
- Remova os plugins que não usa. Cada plugin ativo carrega o seu código em todos os pedidos.
- Ajuste o
pm.max_childrendo PHP-FPM à sua memória. Em linhas gerais, divida a memória que pode dar ao PHP pela memória média de um processo PHP. Um valor demasiado alto consome memória sob carga. - Uma pequena área de swap evita que o servidor falhe em picos curtos. Mas o swap está no disco e é lento, por isso não substitui a RAM.
Se já tentou tudo isto e a memória continua a encher, é altura de aumentar. Meça primeiro: o problema surge nas horas de pico ou o dia inteiro? Como limiar geral, pondere aumentar se a memória available descer muitas vezes abaixo de 10-15 por cento da RAM total nas horas de pico, ou se o swap estiver sempre em uso. Não é uma regra rígida, apenas um ponto de partida.
Aumentar a partir do painel
No painel da Seturack, aumenta o servidor com o cursor do separador Tamanho. Após o pagamento, o servidor reinicia uma vez sozinho e o seu endereço IP e os seus dados mantêm-se. Isso torna seguro começar com um tamanho pequeno. Um servidor com WordPress pré-instalado fica pronto em cerca de 3,5 a 4 minutos. Veja a página do servidor WordPress.
Comentários0
Ainda não existem comentários
Seja a primeira pessoa a partilhar a sua opinião.
Inicie sessão ou crie uma conta para deixar um comentário.