Apache2 + PHP + mySQL sempre usa muita memória, mesmo para apenas um pequeno número de conexões, fora da caixa. Você tem que afinar isso. Você precisa limitar o número de processos do Apache (assumindo que você está usando o mpm_prefork) e você precisa reduzir o consumo de memória do mysql ajustando os vários caches e outros elementos.
5-10 conexões simultâneas para um servidor Apache2 não sintonizado (prefork mpm), com PHP e mysql, com 512MB de memória, provavelmente resultarão em memória insuficiente.
Além disso, seu servidor está executando processos adicionais, como bind e sendmail, que possuem seus próprios requisitos de memória.
Você precisará ajustá-lo usando os vários guias da Web e outras perguntas semelhantes aqui no ServerFault.
Vale dizer, isso não tem nada a ver com o total de acessos por dia e tudo a ver com sessões simultâneas no servidor da web. 20 hits por dia, todos no mesmo segundo vão matar o seu servidor, 20 hits por dia, distribuídos por 1 hit a cada hora, não.
Coloque desta forma - se todo processo Apache2 usa 40MB de memória (e pode facilmente fazê-lo com PHP5 e outros módulos), você pode tolerar cerca de 9 ou 10 conexões simultâneas antes que seu servidor esteja usando 400MB apenas para o servidor web . Isso deixa você com 115MB para todo o resto.