Les chiffres de la charge du système ne sont pas uniquement influencés par la puissance du CPU, car en plus de compter le nombre moyen de processus qui son en traitement actif pendant la période de mesure, il compte également ceux qui serait s'ils n'attendaient pas la fin d'une opération d'E/S.
De nombreux pics de charge importants sont dus à la contention des E/S. Cela peut être causé par un certain nombre de choses : une mémoire insuffisante (moins d'informations peuvent être mises en cache et/ou l'activité de swapping augmente), auquel cas l'ajout de RAM peut être très utile, une mauvaise conception de la base de données ou de mauvaises requêtes dans la base de données (ce qui entraîne souvent des balayages de tables complètes alors que des balayages d'index seraient possibles) ou des sous-requêtes exécutées des centaines de fois alors qu'une jointure plus efficace pourrait être utilisée, ou des sous-requêtes exécutées des centaines de fois alors qu'une jointure plus efficace pourrait être utilisée - plus de RAM peut aider ici aussi, mais c'est au mieux une solution temporaire comparée à l'amélioration de la conception), un sous-système d'E/S lent (disques lents par exemple, ou utilisation de RAID5 pour un système qui effectue de nombreuses petites écritures, etc.
Vous devriez surveiller les statistiques du processeur (%IOWait ainsi que %user, %system et %nice), l'utilisation de la mémoire/swap et les E/S du disque pour voir ce qui se passe pendant ces périodes d'activité, pour obtenir des indices supplémentaires. Vous devriez également envisager de surveiller Apache plus en détail pour voir si une surcharge soudaine de hits sur un serveur virtuel particulier en est la cause. J'utilise généralement http://collectd.org/ pour ce type de surveillance, bien qu'il existe un certain nombre d'autres solutions. La plupart des bases de données prennent en charge la journalisation des requêtes qui prennent plus de temps qu'un temps fixe pour s'exécuter, donc activer cette fonctionnalité peut aider (bien que vous deviez utiliser vos autres indices pour déterminer si les requêtes signalées prennent beaucoup de temps parce qu'elles doivent être optimisées ou simplement parce que le système est très chargé en général).
Avec une moyenne d'environ 0,6 accès par seconde, je pense que vous observez des périodes avec des taux d'accès beaucoup plus élevés qui provoquent une augmentation de la charge pour l'une des raisons mentionnées ci-dessus (contention des E/S et/ou limitation de la mémoire, plutôt que l'utilisation du CPU). Le nombre de hits quotidiens ne signifie pas grand-chose à moins que votre trafic soit très stable tout au long de la journée, ce qui est inhabituel - les taux horaires pour votre période la plus chargée de la journée seraient plus significatifs.