Overload

Introdução

O objetivo deste documento é o de apenas prestar um auxílio inicial, aqueles que possuem contas que estejam experimentando problemas com overload (sobrecarga de recursos do sistema, tais como CPU, memória, etc).

O problema do "overload"

Ocorre basicamente em duas situações: a "legítima" e a "ilegítima".

  • Legítima: é aquela em que a demanda do site do cliente é maior do que o servidor pode suprir. Um exemplo clássico são os sites que cresceram exponencialmente, tanto na quantidade de usuários, quanto na quantidade de arquivos (o sistema do cliente cresceu "fisicamente"). Ou seja, ele precisa de um servidor maior que o atual, que possa ser capaz de atender a sua demanda. Geralmente é necessário que seja um servidor "dedicado", ou seja, um servidor "não-compartilhado", exclusivo para seu próprio uso.
  • Ilegítima: é a causa mais comum de overload. Acontece quase sempre pelo uso incorreto da conta (permissões inseguras atribuídas indevidamente, invasões por senhas fracas, etc) ou dos scripts utilizados para o site (sistemas vulneráveis e/ou desatualizados, plugins de origem duvidosa, modificações amadoras no código, etc). Em resumo, tanto pode ser um problema de segurança (violada), ou de mal funcionamento.

Lidando com a causa "ilegítima"

 

Providências #1

Devem começar pelos itens fundamentais:

  • Atualizar TODOS os sistemas utilizados pelo site (scripts, bibliotecas, plugins/addons, módulos, etc).
  • Trocar as senhas principais, relacionadas com a conta (Painel de Controle/FTP, áreas administrativas de scripts, etc). Tomando-se nesta parte, o cuidado óbvio, de se utilizar senhas fortes, ou seja, compostas de uma sequência aleatória - de, no mínimo, 10 caracteres - de números, letras e símbolos.
  • Checar se a conta não está funcionando com pouco ou nenhum espaço em disco.
  • Verificar se existe alguma tarefa cron (crontab) que está sendo executada de forma indevida: intervalo de tempo muito curto ou longo demais, com erros de execução (paths incorretos dos executáveis, arquivos inexistentes, problemas com permissões de acesso, etc).

Providências #2

Devem ser tomadas quando as "primeiras" providências (acima) não surtiram resultado e, são, geralmente, intervenções no(s) script(s) em uso (quase sempre, CMS's como Wordpress, Joomla, etc):

  • Otimizar o banco de dados (pode-se utilizar o "phpMyAdmin", presente no cPanel, para esta finalidade).
  • Proteger os formulários do site: os de contato (ex.: plugin "Akismet" para o Wordpress), de comentários, etc.
  • Instalar um sistema de cache (ex.: plugin "WP Super Cache" para o Wordpress).
  • Reduzir a quantidade de ítens carregados na primeira página do site (ex.: no Wordpress, isso é controlado na parte "Settings > Reading > Blog pages show at most" e "Settings > Reading > For each article in a feed, show", esta última, selecionar a opção "Summary").