Hola.
No comentas si la base de datos (y su motor en funcionamiento) se encuentra en el mismo servidor. Aunque, supongo que sí.
Si los usuarios acceden durante todo el día a distintas horas, es probable que te funcionara mejor y no colapsara debido a que la concurrencia simultánea sería bastante menor. Pero si los usuarios se concentran en unas horas concretas, es normal que colapse. Creo que tienes muy poca RAM incluso para la concurrencia simultánea de 150 que has estimado.
Hace unos años, había una "regla empírica" que decía que 1GB de RAM por cada 25 usuarios simultáneos. Con los 150 que has estimado, ya necesitarías 6GB y tu VPS solo tiene 2GB y en modo burst.
Además de la memoria necesaria para Moodle, hay que tener en cuenta TODOS los demás servicios que corren en el servidor. Principalmente el motor de la base de datos; y las consultas y escrituras a la base de datos de Moodle si esta se aloja en el mismo servidor.
Yo no pondría menos de 8GB de RAM.
Además de esto, el ancho de banda al que denominas "Host uplink" me parece escaso. Esto no hará que caiga el servidor, pero sí que las páginas de los usuarios tarden en cargar o en responder, según los casos.
Por otro lado, el procesamiento, no lo tengo claro. El Xeon E5645 es de 6 núcleos y 12 hilos, según tengo entendido. Si el servidor tiene doble procesador, alcanzarías los 12 núcleos con 24 hilos. Pero a tu VPS, ¿cuántos de estos núcleos y subprocesos le corresponden?
Si son todos, no tiene sentido que solo te ofrezcan 2GB de RAM.
Yo no aceptaría menos de 4 núcleos, es decir, 8 subprocesos.
Saludos.
JP