Hi,
hab vor ein paar Wochen die Betreuung einer Webseite übernommen die mit Performance einige Probleme hatte. Die ganze Sache lief bisher auf Apache mit einem Loadbalancer und MySql Replizierung auf alle Webserver. Nach Analyse der Situation haben wir jetzt wie folgt umgebaut.
Server 1. ist der "Hauptserver" mit einem DualCore Opteron, der ackert als MySql, Web, Mail und Datenserver im Moment auch noch als PHP Rechner
Server 2+3. normale Opterons die also PHP "Rechner" arbeiten
Die Daten werden also auf Server 1 gehalten und über SSHFS auf den Remoteservern eingemountet. Die PHP Rechner werden über externes spawnen gestartet und die Lastverteilung macht der Lighty ja von selbst. Bishe läuft das ganze ganz gut. Wer hat noch sowas im Einsatz und kann von seinen Erfahrungen berichten? Meine Probleme bisher:
- php Sessions nicht auf allen Servern verfügbar (für alle das selbe Verzeichnis genommen und das auch wieder per SSHFS eingemountet)
- die mail Funktion von PHP brauch leider ein sendmail, sprich alle server brauchen einen Mailserver :(
Gruß Braindead
Erfahrungsaustausch Webserver mit PHP mit Lighty auf mehreren Servern
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Erfahrungsaustausch Webserver mit PHP mit Lighty auf mehreren Servern
Die Sessions könntest du auch in der MySQL-Datenbank speichern, was die Last dann eben dorthin verlagert. Dürfte aber performanter sein, als Flatfiles über SSH einzubinden.braindead wrote:- php Sessions nicht auf allen Servern verfügbar (für alle das selbe Verzeichnis genommen und das auch wieder per SSHFS eingemountet)
Es wird kein vollwertiger MTA benötigt. ssmtp, nbsmtp oder esmtp reichen dazu aus.braindead wrote:- die mail Funktion von PHP brauch leider ein sendmail, sprich alle server brauchen einen Mailserver :(
Re: Erfahrungsaustausch Webserver mit PHP mit Lighty auf mehreren Servern
Hast du ein HowTo oder sowas in der Art wie das zu bewerkstelligen ist? Hab das leider noch nichts gefunden das mit weiterhilft.Die Sessions könntest du auch in der MySQL-Datenbank speichern, was die Last dann eben dorthin verlagert. Dürfte aber performanter sein, als Flatfiles über SSH einzubinden.
Das man MySql über TCP/IP ansprechen muss ist klar, sonst kann das ja mit mehr als einem Server nicht funktionieren ;)
Das ist eigentlich kein Problem, dank APC liegen die Scripte so wie so im Cache auf /dev/shm und so hab ich wenigstens keine Probleme Dateiuploads und sync Problemen.-> Auf SSHFS würde ich zur Not verzichten und eine Redudante Datenablage auf beiden Server bevorzugen. Das macht die Sache etwas schneller.
Das Problem haben wir jetzt so gelöst das alles Mails in die MySql DB in eine Mail Queue geschrieben werden und dann vom eigentlichen Mailserver verschickt werden.Dahingehend würde ich z.B. auch eigene Scripte anpassen.
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Erfahrungsaustausch Webserver mit PHP mit Lighty auf mehreren Servern
http://php.net/session#session.customhandlerbraindead wrote:Hast du ein HowTo oder sowas in der Art wie das zu bewerkstelligen ist? Hab das leider noch nichts gefunden das mit weiterhilft.
Schau dir lieber mal die von mir genannten Relay-only MTAs an. Dann sind solche Konstrukte unnötig.braindead wrote:Das Problem haben wir jetzt so gelöst das alles Mails in die MySql DB in eine Mail Queue geschrieben werden und dann vom eigentlichen Mailserver verschickt werden.
Re: Erfahrungsaustausch Webserver mit PHP mit Lighty auf mehrere
Um mal ein kleines Update zu geben, mittlerweile habe ich rausgefunden das es sehr einfach möglich ist sie Sessions ins Memcache zu halten. Damit hat sich das ganze Problem mit dem Einbinden von files über SSH usw. dann auch erledigt. Außerdem kann man den Memcache natürlich noch für andere Dinge verwenden.