Mailinglisten-Archive |
hi :) ich habe ein paar merkwürdige probleme nach einem wechsel von linux auf freebsd mit der mysql. es läuft ein chat-system auf einem rechner mit 256mb ram und 750mhz, welches die mysql als "datengrab" (backlog) verwendet. auf dem bisherigen linux-system wurde dabei, da der chat noch nicht mit sockets arbeitet, für jeden user eine httpd und eine mysql-session aufgemacht. es liefen also pro user ein httpd und ein mysqld. nach dem wechsel auf freebsd habe ich aus den ports heraus die jeweils aktuellen version von apache, php und mysql installiert und für die mysql die konfiguration des alten rechners übernommen. die php-skripte haben die verbindung persistent hergestellt. als ergebnis des ganzen lief der chat bei 20 users wunderbar, krachte aber bei mehr als 30 zusammen. dabei ging die load auf 1 hoch, der rechner war weiterhin problemlos bedienbar (unter linux lief er teilweise auf load 14 bei 50 usern). es liegt also nicht am swappen oder anderen "externen" faktoren, sondern an der mysql selber. sie scheint sich irgendwo fest zu fressen. ich habe heute morgen die konfiguration nach dem handbuch ein wenig optimiert, keyb uffer size auf 64 hoch gesetzt, tabellen auf myisam umgestellt und optimiert usw. das wird vielleicht was bringen. ich vermute folgendes: auf dem alten system wurde für jeden user ein mysqld aufgerufen, folglich galt für den jeweils von neuem das in der config gesetzte limit. die neue mysql stellt verbindungen standardmäßig als socket-verbindung her und startet einen mysqld, der alles bearbeitet. die konfiguration der alten mysql ist folglich dafür zu klein ausgelegt. könnte dies das problem sein? das nächste problem: während die mysql so hing, wurden alle inserts doppelt vorgenommen. dies lies sich nach einer abschaltung der persistenten verbindungen nicht reproduzieren. any hints? :) ciao :) --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive