O afunilamento fatal para VPSs razoavelmente especificados é normalmente E / S de disco, pois todas as VMs em execução em um determinado host estarão compartilhando o mesmo disco (ou matriz de discos - bons hosts VPS terão suas VMs em um array RAID10 ou semelhante ), na verdade, às vezes, vários hosts com VMs compartilham o mesmo array se forem configurados com um array de unidades extralargo. Isso é particularmente óbvio quando a memória se torna curta, já que as consultas do seu banco de dados estarão sempre em disco devido a não ter RAM para armazenar em cache nem mesmo um conjunto principal de dados.
Você pode descobrir que obter seu próprio servidor dedicado de baixa especificação melhoraria os problemas simplesmente porque suas necessidades podem monopolizar a largura de banda de E / S bruta e você verá menos latência de E / S à medida que as cabeças de unidade estão virando e voltando para suas solicitações de E / S, não várias outras máquinas que valem solicitações de E / S também. Isso pode até custar menos do que a solução "executar dois VPSs", especialmente quando você considera que em muitos casos a transferência de dados entre VMs contará com suas cotas de badwidth para as máquinas (verifique com seu host - isso nem sempre é o caso, mas a menos que você seja explicitamente informado de que não é mais seguro assumir que é), assim você pode ter aumentado os custos relacionados à largura de banda. Você pode se surpreender com o pouco que pode alugar uma pequena máquina baseada em P4, e, a partir de sua descrição, duvido que a potência da CPU seja o seu gargalo (memória e contenção de E / S são os prováveis culpados).
500Mb de memória pode ser uma limitação, então voltar para as duas ideias de VPSs se dividindo em duas VMs para que sua base de dados não esteja competindo com o processo FastCGI e memcached pode ajudar. Da mesma forma, pode valer a pena conseguir mais RAM fixa alocada - Eu nunca acreditei na idéia de "alocação de RAM estourável", pois assumo que cada sistema operacional tentará usar o máximo de RAM possível para a eficiência de E / S (embora Eu nunca usei um host que usa alocação de RAM estourável, então não tenho evidência direta para apoiar a falta de fé!). O que o restante de free -m
mostra? Além disso, que tipo de tamanho são seus bancos de dados? Conseguir mais RAM fixa alocada pode ajudar mais do que mudar para servidor dedicado barato (já que a maioria das opções mais baratas vem com apenas 512Mb de RAM física, embora a maioria também possa ser atualizada por um custo extra) dependendo de quão apertado 512Mb realmente é para suas necessidades. / p>
Desculpe, não é uma resposta particularmente direta ...
Para testar como o RAM depende de seu desempenho, você pode configurar uma VM de especificações semelhantes em sua máquina local, duplicar sua configuração e lançar alguns softwares de benchmarking ( link é um lugar para começar) e então aumentar a RAM alocada para a VM para ver a diferença que faz para onde os erros começam a aparecer. Você pode simular É uma contenção de E / S incorreta também executando algumas outras VMs simples, cada uma executando algum tipo de referência de E / S, como o bonie ++.