Andreas Korthaus: Chat mit PHP (sleep, flush)

Beitrag lesen

Hallo!

Ich habe oft gelesen, dass ein Chat mit PHP nicht sehr gut ist. Naja immerhin wäre dafür eine Endlosschleife nötig. Aber wenn man nun einen Schleife erstellt mit Hilfe von sleep(2) und danach flush in der Schleife und alle 30 oder 60 Sekunden aktualisiert ist es dann auch sehr systemleistungsfressend. Es werden auch die Geschriebenen Texte die nicht mehr gebraucht werden gelöscht.

Ich hatte vor einiger Zeit die Kommunikation von IRC und HTTP beispielhaft verglichen: </archiv/2003/9/58291/#m327141>

Ist es dann auch schlecht für den Server?

Zumindest hast Du das Problem dass für jeden teilnehmenden Chatter im Prinzip ein kompletter Apache/PHP Prozess benötigt wird. Das ist nicht wirklich effizient, und je nach Konfiguration des Servers, des Apachen und von PHP fpührt das ganze sehr schnell dazu dass der RAM voll ist und geswappt werden muss - das ist dann möglicherweise der Anfang vom Ende ;-)
Wenn Du dann noch sowas wie persistente Datenbankverbindungen verwendest kannst Du ab einer gewissen Zahl an Usern auch hier Probleme bekommen...
Dazu kommt dass die Kommunikation nicht wirklich stabil ist, Du kannst an allen möglichen Stellen an Timeouts stoßen, auf die Du möglicherweise gar keinen Einfluss hast,  ...

Grüße
Andreas