Wie muss die Performance bewertet werden?

Goldfish

Bekanntes Mitglied
Hi, ich mache mir gerade Gedanken über ein kleines Problem, zu dem ich im Netz leider nichts finde. Ich stelle derzeit einen WebService mittels SOAP und WS-Security zusammen. Ich bin derzeit bei der Frage angelangt, wie weit bei solchen Dingen gegangen werden muss. Wieviele Anfragen pro Sekunde sollte ein WebService mindestens verarbeiten können? Angenommen, es kommen locker 5 bis 10 Anfragen pro Sekunde rein, wenn bspw. alle Kunden der Firma auf dieses System umgestellt werden. Die Performance im Code so weit zu gewährleisten wie es geht, ist die eine Sache. Aber die eigentliche Frage ist wirklich, wie viele Anfragen pro Sekunde ein WebService annehmen bzw. verarbeiten können sollte. Damit hab ich leider überhaupt keine Erfahrung.
 

CptSocket

Aktives Mitglied
Hoi Goldfish

Diese Frage kann nicht generell beantwortet werden. Die Performance wird abhängig sein von:
(Unabhängig davon wirst du aber einen eigenen Lasttest durchführen müssen.)
- Aufbau / Grösse der zu transportierenden Objekte
- Zugrunde liegende Infrastruktur
- Eingesetzte WS-Library
- Wird http oder https verwendet
- ...


Wieviele Anfragen pro Sekunde sollte ein WebService mindestens verarbeiten können?
Müsste die Frage nicht andersrum gestellt werden? Idealerweise ist bekannt, wie die Last auf dem Service aussehen soll. Dann kann geprüft werden, ob die Implementierung die Leistung bringt.

Steht der Service bereits zur Verfügung oder handelt es sich um eine Neuimplementierung?


Freundliche Grüsse
CptSocket
 

Goldfish

Bekanntes Mitglied
Es handelt sich um eine Neuimplementierung. Die auch nur für einen ausgewählten Kundenkreis zur Verfügung gestellt werden soll. Hab gerade mal Performance Tests bezüglich der Verschlüsselung gemacht. Datensätze von 5MB werden in rund 300 Millisekunden signiert und verschlüsselt. Das scheint meiner Ansicht nach eigentlich ganz akzeptabel zu sein. In den Datensätzen sollen auch Bilder per Binärdaten verschlüsselt mitgesendet werden können. Dabei sollte es sich allerdings nicht um Bilder handeln, die größer als 15 kb sind. Entsprechend denke ich, ist zumindest die Verschlüsselung im akzeptablen Bereich.
Einzelne Datensendungen werden Schätzungsweise nicht mehr als 150kb haben. Für eine solche Datenmenge liegt der Performancetest mit der Verschlüsselung bei rund 35 Millis im Durchschnitt.
Die Verarbeitung der Daten wird später selbstverstädnlich nochmal ein eigenes Thema. Aber dass der Bereich nich so viel frisst, ist ja schonmal gut ^^
 
Zuletzt bearbeitet:

CptSocket

Aktives Mitglied
Wie sieht der Aufbau der Applikation / des Services aus?

Ich habe sehr gute Erfahrungen damit gemacht, die Implementierung des Services von der 'Technologieadaption' auf WS zu trennen:

  • Service ganz normal als EJB / Spring Bean / ... implementieren
    • Berechtigungsprüfung
    • Laden von Daten
    • Aufruf von Business Logik
    • ...
  • Service als WS anbieten.
    • Konvertieren der Aufrufparameter
    • Service aufrufen
    • Konvertieren der Rückgabeparameter
    • Exception -> WsFault konvertierung
    • ...

Vorteil davon ist, dass du den Service einfach auch in anderen Technologien (wie direkt RMI oder Rest) anbieten kannst. Zudem kannst du einfach die Performance des Services mit und ohne Einfluss WS-Zeugs testen.


Sind aber natürlich nur Vorschläge und ist immer Geschmacksache ;-)


Freundliche Grüsse
CptSocket
 

Neue Themen


Oben