phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Chat=2D=D6konomie?=

[php] =?iso-8859-1?Q?Chat=2D=D6konomie?=

=?iso-8859-1?Q?Andr=E9?= Temme a.temme_(at)_gmx.de
Thu, 15 Jun 2000 15:14:10 +0200


Hallo Liste,
ich suche nach einer M�glichkeit zur Senkung der Server-Belastung durch
einen PHP-Chat. Wie schon in vorhergehenden Threads beschrieben, halten
einige Listenmitglieder PHP-Chats f�r zu lastintensiv.
Nun wei� ich, das einige PHP-Chats shared-memory-funktionen nutzen, um
dieses Problem in den Griff zu bekommen, die mir aber bis heute recht
schleierhaft sind und f�r die ich bis jetzt auch keine gute Doku
gefunden habe, das Handbuch wie div. deutsche PHP-B�cher beschr�nken
sich auf die Darstellung der Syntax der Funktionen.
Konkret: Ich habe einen recht aufw�ndigen PHP-Chat programmiert, der
Streaming (Endlosseiten, keine Reloads) benutzt. Nachrichten kommen in
eine MySQL-Datenbank, welche die Clients zyklisch abfragen. Genau hier
liegt der Haken: JEDER Client fragt im Sekundenrhythmus nach, ob neue
Eintr�ge zur Ausgabe vorliegen. Bei zehn Chattern sind das allein 600
Selects/Minute, auch wenn keiner was geschrieben hat (Super ist dann,
wenn das MySQL-Logging eingeschaltet ist :( ). 
Ich wei�, das man �ber shared-memory nur dann einen select ausl�sen
kann, wenn ein neuer Eintrag vorliegt, nur realisiert kriege ich das
nicht. Es wird wohl ein flag gesetzt, wenn jemand etwas schreibt, die
Clients fragen das flag ab, was ja im RAM liegt, und deshalb wohl
Ressourcen schont, und nur wenn es gesetzt ist, erfolgt das select.
Oder? Und wie?
Gibt es alternative M�glichkeiten? MySQL beherrscht ja ab 3.23
HEAP-Tables, also Tabellen im Memory, diese unterst�tzen aber weder BLOB
noch TEXT noch AUTO_INCREMENT, was bei Chats eher schlecht ist.
Ein bi�chen ratlos

Andre Temme

P.S.: Vielleicht k�nnen ja die Chat-Experten mal Zahlen �ber den
Ressourcenhunger ihrer Chats nennen (Main-Chat, PHPChat ...)


php::bar PHP Wiki   -   Listenarchive