# Web-Seiten Performance



## jLn (21. Sep 2008)

Hallo,

ich bin Anfänger in der JSP/Servlet Programmierung und habe eine kleine Frage zur Performance.
Meine Seite gibt immer in einer Sidebar einige Statistiken aus einer Datenbank aus, die auch teilweise berechnet werden.
Jetzt frage ich mich, wenn meinetwegen 100 Benutzer auf die Seite gleichzeitig zugreifen würden, 
wäre dann nicht irgendwie so ein kleines Bottleneck an dieser Stelle?

Ich meine Ausgaben wie z.B.:
- Anzahl der registrierten Benutzer
- Anzahl der aktuell eingeloggten Benutzer
- Anzahl der insgesamten Forum Beiträge
- Anzahl der in diesem Jahr/Monat/Woche abgegebenen Forum Beiträge
- Abstimmungsergebnis (Berechnung der Prozent Anteile)
etc.

Ich habe mir überlegt diese Daten in einer XML-Datei oder als serialisierte java Datei abzulegen, die nach 
einer bestimmten Zeit (z.B. 5 Minuten) wieder durch einen Datenbankaufruf aktualisiert wird.
Somit würde auch für diesen Zweck die Datenbank nicht überlastet werden oder?

Ist dieser Ansatz ok? Mich würde mal interessieren was eure Meinung dazu ist!
Vielen Dank schon mal im vorraus für euer Feedback ...


----------



## ps (23. Sep 2008)

Ich würde in diesem Fall eher einen Cache konfigurieren. Wenn du einen ORM wie EclipseLink oder Hibernate benutzt kannst du diese auch entsprechend konfigurieren... dann musst du den Cache nicht manuell ansteuern. Benutzt du reines SQL dann geschieht das natürlich manuell.

Guck dir mal JCS an: 
-> http://jakarta.apache.org/jcs/

EHcache ist auch sehr verbreitet.
-> http://ehcache.sourceforge.net/


----------



## Jockel (23. Sep 2008)

Probier doch einfach aus, wie stark die Performance leidet, wenn 100 Benutzer gleichzeitig auf deine Seite zugreifen. JMeter (http://jakarta.apache.org/jmeter/) könnte dabei hilfreich sein.


----------



## ps (23. Sep 2008)

Was mir noch grad aufgefallen ist:
anzahl+namen der eingeloggten benutzer, also sachen die sowieso schon im speicher sind kannst du ja direkt über die sessions abgreifen ;-)


----------



## AlArenal (23. Sep 2008)

Ich würde erstmal fragen, ob die Seite doll genug ist, dass da 100 gleichzeitig draufwollen und dann würde ich die Gretchenfrage stellen, was denn "gleichzeitig" eigentlich in dem Zusammnenhang bedeutet und wo der direkte Bezug zum Server ist.

Ist ein ziemlicher Aufwand 100 Leuten auf den Sekundenbruchteil genau auf den Hinterkopf zu hauen, damit sie klicken.. ;-)


----------



## jLn (25. Sep 2008)

vielen dank für eure Antworten!
Ich denke zwar auch das es unwahrscheinlich ist, dass 100 Benutzer gleichzeitig eine Aktion ausführen.
Jedoch habe ich mir die Frage gestellt, ob das den Web- oder MySQL-Server so stark auslastet, 
dass man wirklich sehr lange auf eine Antwort warten müsste.
Es ist zwar denkbar, dass es in der Zukunft um die 1000+ Benutzer nutzen könnten, somit möchte 
ich schon die beste mögliche Performance erreichen.


----------

