Essas configurações são todas sobre equilíbrio, o quão alto você pode obtê-las sem correr o risco de perder memória e travar o servidor, ou ter seus processos mortos pelo pai vps, o que é possível por isso que você está recebendo SegFaults. / p>
Normalmente, quando eu estou otimizando um servidor, eu vou rodar o script mysql tuning-primer.sh para ter uma idéia da quantidade de memória máxima que o MySQL pode usar:
Então, para prefork, eu multiplicaria MaxClients pelo php memory_limit para ter uma idéia da quantidade de memória que o Apache + PHP pode usar no max. Estas são estimativas aproximadas, mas uma vez que você fez muito isso, você tem uma ideia.
Eu tento manter o total desses 2 em torno da memória máxima do servidor, se o seu VPS não tiver uma partição de swap, eu definitivamente tentaria mantê-lo menor que o máximo de RAM por alguns motivos:
1) Os outros processos no servidor estarão usando a memória
2) Alguns scripts php no servidor podem estar usando ini_set para alterar o memory_limit para si mesmos.
Se você puder fornecer o /etc/my.cnf e o php memory_limit, poderei encontrar algumas boas configurações para você.
edit: Eu só queria mencionar que você está usando o worker e não o prefork, os mesmos conceitos se aplicam, mas o worker tem que lidar com threads e não apenas com o MaxClients, então o prefork foi um exemplo melhor. Eu teria que olhar para as configurações depois de obter as informações solicitadas, a fim de dar-lhe um bom conselho