Några frågor...
Bad gateway... Det visar ju på att det kan vara något framför apache och nginx som strular. Har du nån form av proxy eller liknande framför?
Uppstår problemet både för statiskt material och dynamiskt?
Om det gäller dynamiskt material, kolla apaches config så inte ServerLimit går i taket, prova höja den.
Om antalet samtidiga anslutningar till mysql inte räcker till så öka max_connections i my.cnf
Lägg till skip-name-resolve i my.cnf om du inte redan har det.
Lägg till skip-bdb om du inte använder BerkeleyDB, och skip-innodb om du inte använder innodb... i my.cnf alltså.
Ang att saker och ting går trögt så kolla följande
Se till att alla dina queries använder index. Detta är sannolikt den största boven i dramat. Kolla mysql-manualen på "EXPLAIN".
Se till att använda mysqls socket istället för tcp-anslutning. Detta görs automatiskt om du använder "localhost" vid anslutning och sökvägen till socketen är rätt i my.cnf. Minskar anslutningstiden drastiskt.
Använd mysql_pconnect istället för mysql_connect. Då görs en persistent connection vilket betyder att man använder en anslutningspool och kan återanvända redan öppna anslutningar för att inte slösa onödig tid på att öppna anslutningar hela tiden.
Släng i mer RAM i burken, 1GB RAM är äckligt lite även om du bara hade kört mysql på burken. RAM behövs för att cacha queries, minimera användandet av tillfälliga tabeller, resultatsortering på disk osv.
Jag har själv aldrig testat nginx men använder mig av thttpd (
www.acme.com/software/thttpd). Hur den står sig mot nginx vet jag inte men är stabil och bra.
Har du inte fått till det med allt detta så blir det till att skaffa en burk till och slänga över mysql på den