Como otimizar o desempenho do cPanel via terminal SSH

10 min de leitura Infraestrutura
Como otimizar o desempenho do cPanel via terminal SSH

Introdução

Gerenciar um servidor cPanel/WHM exige mais do que apenas monitorar o uso de CPU e memória; exige ajustes finos na infraestrutura para garantir que sites e aplicações de seus clientes operem com a máxima fluidez. Muitas vezes, o gargalo de performance não está na falta de recursos de hardware, mas em configurações padrão que não foram otimizadas para a carga real do seu ambiente.

Neste tutorial da Toda Solução, você aprenderá como ir além da interface gráfica do WHM e utilizar o poder do terminal SSH para realizar ajustes profundos no servidor. O foco aqui é a aplicação de comandos técnicos para:

  • Ajustar limites de processos (LVE/CloudLinux ou limites de sistema) para evitar travamentos.
  • Otimizar o motor do MySQL/MariaDB, garantindo que o banco de dados utilize a RAM disponível de forma eficiente.
  • Refinar as configurações de I/O e cache para reduzir a latência de leitura e escrita em disco.

Ao final deste guia, você terá um servidor muito mais resiliente, capaz de suportar picos de tráfego com muito mais estabilidade, reduzindo chamados de suporte por lentidão e melhorando a experiência do usuário final.

Pré-requisitos

Antes de iniciar as otimizações de performance no seu servidor, é fundamental garantir que você possui o ambiente correto e as permissões necessárias para evitar interrupções nos serviços ou configurações incorretas que possam derrubar o seu site.

Certifique-se de atender aos seguintes itens:

  • Acesso Root via SSH: Você deve possuir as credenciais de superusuário (root) para realizar alterações em arquivos de configuração do sistema e do WHM.
  • Backup Atualizado: Atenção! Alterar parâmetros de memória e limites de processos pode causar instabilidade. Realize um snapshot do servidor ou um backup completo do MySQL/Maria/MariaDB antes de prosseguir.
  • Conhecimento de Terminal: Familiaridade com comandos básicos de navegação e edição de arquivos (como cd, nano ou vi) no Linux.
  • Monitoramento de Recursos: É recomendável ter o comando top ou htop instalado para observar o impacto das mudanças em tempo real.

Para validar se você já possui acesso direto ao servidor, utilize o comando abaixo em seu terminal local:

ssh root@seu_ip_do_servidor

Se o acesso for estabelecido com sucesso, você estará pronto para iniciar os ajustes de configuração.

Ajuste de Limites de Processos

Para evitar que um único usuário ou script consuma todos os recursos do servidor, é fundamental ajustar os limites de processos (Entry Processes) e de memória. No ambiente cPanel/WHM, esses limites são controlados pelo CloudLinux (se instalado) ou via configurações do sistema.

Se o seu servidor utiliza CloudLinux, você pode ajustar o limite de processos via linha de comando para um usuário específico com o seguinte procedimento:

  1. Acesse o servidor via SSH como root.
  2. Verifique o limite atual do usuário:
    lveinfo --user nome_do_usuario
  3. Para aumentar o limite de processos (EP) para 50 e a memória RAM para 2GB, utilize:
    lveparam --user nome_do_usuario maxprocess=50 maxvmem=2048M

Caso não utilize CloudLinux, você deve monitorar o ulimit do sistema para garantir que o limite de arquivos abertos e processos não esteja restringindo o funcionamento do Apache/Litespeed. Use o comando abaixo para verificar os limites atuais da sessão:

ulimit -a

Atenção: Aumentar excessivamente os limites de processos sem ter hardware disponível pode causar o esgotamento da memória RAM e o travamento (kernel panic) do servidor. Ajuste sempre com base na capacidade real da sua infraestrutura na Toda Solução.

Otimização do MySQL/MariaDB

O banco de dados é, frequentemente, o maior gargalo em servidores cPanel. Para otimizar o desempenho, o foco deve estar no ajuste do InnoDB Buffer Pool, que define a quantidade de memória RAM dedicada para cache de dados e índices.

Siga os passos abaixo para realizar ajustes via terminal:

  1. Acesse o arquivo de configuração do MySQL (geralmente localizado em /etc/my.cnf) usando o editor Nano ou Vi:
    nano /etc/my.cnf
  2. Localize a seção [mysqld] e ajuste ou adicione os seguintes parâmetros de acordo com a sua RAM disponível:
    • innodb_buffer_pool_size: Defina entre 50% a 70% da RAM total do servidor (se o servidor for dedicado apenas ao banco).
    • innodb_log_file_size: Aumente para melhorar a velocidade de escrita em transações pesadas.
    • query_cache_size: Em versões modernas, mantenha este valor baixo ou desativado para evitar contenção de locks.
  3. Exemplo de configuração para um servidor com 8GB de RAM:
    innodb_buffer_pool_size = 5G
    innodb_log_file_size = 512M
    innodb_flush_method = O_DIRECT
  4. Salve o arquivo (Ctrl+O, Enter, Ctrl+X no Nano) e reinicie o serviço para aplicar as mudanças:
    /scripts/restartsrv_mysql

Aviso: Alterações incorretas no innodb_buffer_pool_size podem impedir o MySQL de iniciar por falta de memória disponível no sistema operacional.

Configuração de Cache e I/O

Após ajustar os limites de processos e o banco de dados, o próximo passo é reduzir o gargalo de leitura e escrita (I/O) do disco e otimizar a entrega de conteúdo estático. No ambiente cPanel, o uso de ferramentas de cache de sistema e o ajuste do escalonador de disco são fundamentais.

Para melhorar a performance de I/O em servidores com SSD/NVMe, verifique o escalonador de disco atual com o comando:

cat /sys/block/sda/queue/scheduler

Nota: Substitua sda pelo identificador do seu disco principal.

Se o sistema estiver usando deadline ou cfq, considere a alteração para none ou mq-deadline para reduzir a latência em drives de alta velocidade. Além disso, para otimizar o cache de arquivos, verifique o uso do OPcache para o PHP, garantindo que o cache de bytecode esteja ativo no seu php.ini:

  1. Acesse o arquivo de configuração do PHP via terminal.
  2. Certifique-se de que a diretiva opcache.enable=1 esteja presente.
  3. Aumente o opcache.memory_consumption se o seu servidor possuir RAM disponível.

Dica de Infraestrutura: Se você utiliza sistemas de arquivos como EXT4, o ajuste do parâmetro commit pode reduzir o overhead de escrita, embora aumente levemente o risco em caso de queda de energia. Use com cautela em ambientes críticos.

Verificação de Performance

Após aplicar os ajustes de configuração, é fundamental validar se as alterações surtiram efeito prático e se o servidor está operando dentro da estabilidade esperada. Não basta apenas alterar arquivos; é preciso monitorar a carga em tempo real.

Siga estes passos para auditar o desempenho do seu servidor cPanel:

  1. Monitoramento de Carga (Load Average): Utilize o comando top ou, preferencialmente, o htop para visualizar o consumo de CPU e memória. Observe o "Load Average" nas primeiras linhas; ele não deve exceder consistentemente o número de núcleos de CPU do seu servidor.
    htop
  2. Análise de I/O de Disco: Para verificar se o gargalo não está na leitura/escrita de disco (comum em VPS com storage compartilhado), utilize o iostat.
    iostat -xz 1
  3. Verificação de Conexões MySQL: Entre no console do MySQL e verifique o número de threads ativas para garantir que o ajuste de cache foi eficiente.
    mysqladmin processlist
  4. Logs de Erros: Verifique se as novas configurações não causaram instabilidade nos serviços.
    tail -n 50 /var/log/messages

Dica de Especialista: Realize esses testes em horários de baixa utilização e, posteriormente, durante o pico de acessos para comparar o comportamento do sistema sob estresse.

Troubleshooting

Após realizar ajustes finos no terminal, é comum encontrar instabilidades se os novos parâmetros excederem os recursos físicos do servidor. Se o seu cPanel/WHM apresentar comportamento inesperado, siga este roteiro de diagnóstico:

  1. Falha na inicialização dos serviços: Se o MySQL/MariaDB não subir após a alteração do my.cnf, verifique o log de erros imediatamente. Um erro de sintaxe ou valor excessivo para o innodb_buffer_pool_size pode impedir o boot do banco.
    tail -n 50 /var/lib/mysql/hostname.err
  2. OOM Killer (Out of Memory): Se o sistema encerrar processos repentinamente, o kernel do Linux pode estar matando o MySQL para proteger o sistema. Verifique se o consumo de RAM está no limite:
    dmesg | grep -i 'out of memory'
  3. Lentidão após aumento de limites: Se o aumento do MaxClients ou MaxUserProcesses causar lentidão, verifique o uso de I/O de disco. O gargalo pode ter migrado da CPU para o armazenamento.
    iostat -x 1 5
  4. Reversão de Emergência: Caso o servidor se torne instável, o procedimento mais seguro é restaurar o backup das configurações originais (.bak) e reiniciar os serviços:
    systemctl restart mysql
            
    systemctl restart httpd

Dica de Especialista: Nunca altere configurações de limites de processos sem monitorar o uso de memória disponível através do comando free -m.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000