Dans un premier temps il faudrait vérifier, lorsque les erreurs 500 se produisent, l'état de la ram et cpu.
C'est à dire vérifier combien il reste de ram dispo :
free -m
et éventuellement vérifier si ce n'est pas le cpu qui est saturé à ce moment là (avec htop par exemple, la ram pouvant être vérifié avec ce dernier) :
htop
Si ce dernier n'est pas installé :
apt install htop
Pour vérifier l'espace disque :
df -h
Je pense que pour une 40aine de site la config du serveur est un peu trop légère. Enfin ce n'est que mon avis, je ne peux rien confirmer sans connaitre les projets hébergés et le type d'installation réalisée (je ne connais pas vestacp mais comme tout panel il doit à lui seul manger un peu de ressources inutilement).