Hallo,
ich weiss nicht wo ich das reinschreiben soll, deswegen habe ich es jetzt mal in diesem Forum gemacht, notfalls bitte verschieben.
Vorgeschichte:
Ich betreue eine Seite, die bei hoher Besucherzahl sehr langsam wird, um nicht zu sagen, unerträglich langsam. Nun hab ich mich mal mit ein paar Optimierungs-Spezialisten unterhalten. Und zusammen haben wir mal das pragma unter die Lupe genommen, evtl gibt es da einige Anregungen, die für spätere Versionen interesssant sind, um Performance Gewinne zu erzielen.
Also wie gesagt: Seite extrem lahm bei vielen Usern und Gästen (mehr als 100 z.B.), CPU quasi komplett ausgelastet, Load Average geht in die Höhe etc.
Wir haben dann mal den Who is Online Block komplett entfernt, bzw deaktiviert, und die Seite ist trotz über 100 User "gesprintet", also haben wir den genauer untersucht .....
Pferdefuß ist da die Abfrage nach den ganzen Mitgliedern - bei hoher Mitgliederzahl (und die Seite hat eine 5-stellige Mitgliederzahl) erzeugt durch die permanente Einbindung bei allen Seiten enorme Last.
Nun die Überlegung, den Block evtl als Pop Up laufen zu lassen, oder nur auf der Startseite, Problem allerdings ist, dass diese Liste enorm genutzt wird um andere User anzutexten, zu schauen wer online ist, also keine passende Lösung.
Dann eben die entsprechenden Teile aus dem Block auskommentiert (Alle MItglieder) und seitdem geht es wirklich wieder super fix ....
Nun die Anregung von den Optimierern, die das abe rleider nciht für mich machen, und da ich keine AHnung habe, weiss ich nicht was ich zu machen habe:
Die meinten:
sowas kann man weit effezienter loesen - z.b muss man das nicht ausrechnen, sondern kann GENAU diesen einen wert in der db halten
und mit jeder anmeldung um 1 erhöhen.
Wäre das nicht einbaubar für die nächste Version des pragma? Gerade für mitgliederreiche Communitys würde das einen enormen Performance Gewinn bringen ....
Also, das war es schon ;-)