Wenn nur ein Server für alles zusammen eingesetzt wird, könnte doch erst mal die Trennung eine Alternative sein. Sprich: MySQL und Web-Server auf verschiedene Server verteilen.
So ist es bereits. Hatte ich vergessen zu erwähnen sorry. Ist aber die selbe Server-Konfiguration
Wieviel Traffic fällt denn so pro Tag an?
Sorry da kann ich dir gerade keine Auskunft geben. Beim Profiling kam raus das wirklich die DB überlastet ist.
Zu deinen genannten Alternativen kann ich keine Empfehlungen geben - aber was spricht denn gegen einen dedizierten MySQL-Server oder eine Load-Balancer-Lösung für MySQL?
Dagegen spricht das MySQL überfüllt ist mit Funktionen - der selbe Grund warum leute Lighttpd anstatt Apache einsetzen. Andere Datenbanken sind nun einmal schneller. Wer braucht bitte 9999 Kodierungen wenn er eh nur UTF-8 nutzt.. usw. usw.
Auf Seite von PHP gibt es noch die Möglichkeit, einen Cache wie beim ZendFramework zu benutzen. Damit kommen die Abfragen erst gar nicht bei MySQL an ;-)
Oder ich spare mir das Framework und nutze Memcached.