AW: Vb.162: avanti-w verbessert
Thomas Berger
ThB at gymel.com
Di Jan 7 09:44:48 CET 2003
Lieber Herr Hoeppner, liebe Liste,
> Hat überhaupt jemand schon mal einen Vergleich gestartet, um herauszufinden,
> welcher Teil eines Auftrages an avanti die meiste Zeit kostet? Ich meine
> damit das Verhältnis von Laufzeit der Daten über das Netz zu eigentlicher
> Abarbeitung des Jobs. Ein Bauchgefühl sagt mir, das Netz ist der
> Flaschenhals. Aber ich gebe selbstverständlich zu, dass ich das nicht
> untermauern kann.
Ich habe hier nie systematisch testen koennen, teile aber
gerne mein anekdotisches Wissen:
- HANS-Datenbanken, wo jedes Komma aus dem Index nachgeladen
wird (kein Scherz), sind subjektiv auch nicht langsamer
als andere, hier wirkt wohl auf allen Plattformen, dass
die relevanten Indexausschnitte meist im Plattencache des
Betriebssystems sind.
- Fuer eine Praesentation Anfang 1999, wo avanti grosse
Datenmengen (4stellige Ergebnismenge) in XML exportierte,
mussten wir kurzfristig von der urspruenglich eingeplanten
Sun auf mein Pentium-233-Notebook umziehen, weil die
Antwortzeiten besser waren (und das shared-Memory
nicht ausreichte, das musste damals ja so ueppig
dimensioniert sein, dass das gesamte Ergebnis
hineinpasste)
- Fuer einen RTF-Export aus avanti-x heraus musste das
Job-Timeout bereits bei ca. 500 Ergebnissen auf einer
Sun von 60 auf 120 Sekunden erhoeht werden, HTML-
Export derselben Menge kein Problem.
- Schiller-Raeuber-Suchen und solche, die Restriktionen
benutzen sind sehr langsam (zumindest bei grossen
Datenbanken, ich denke da an eine mit 800.000 Saetzen),
bei Zwischenergebnissen im 5stelligen Bereich reichte
hier auf einer Sun das Job-Timeout von 60 Sekunden
nicht aus (Resultat ca. 10.000 Satznummern)
Ich habe oft den Verdacht gehabt, dass Performance und
auch Stabilitaet von avanti nicht unbedingt von der
Datenmenge abhaengen, sondern von der Anzahl der Zeilen
des Resultats. Also vermutlich von der Anzahl der
Operationen mit Shared Memory, nicht vom Volumen, das
dort durchgeschleust wird. Das ueberrascht mich auch
nicht besonders, weil Shared Memory ja nie dazu gedacht
gewesen ist, Daten von A nach B zu uebertragen und
(vor allem unter U**X) als ausserordentlich langsam
gilt. Ob es zusaetzlich im Socket-Kommunikationsteil
eine Strafe fuer Zeilen gibt (wegen gebuffert /
ungebufferter I/O, also etwa pro Zeile ein Packet)
kann ich nicht beurteilen.
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro