[Allegro] Performanz der Volltextsuche

Thomas Berger ThB at Gymel.com
So Apr 24 18:05:50 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Eversberg, liebe Liste,

in letzter Zeit beschaeftige ich mich haeufiger mit Volltextsuchen.
Ich habe daher einmal an einer etwas groesseren Datenbank eine Messung
fuer die Volltextsuche nach dem einfachen String "Shakespeare"
vorgenommen:

Die Maschine ist mein etwas aeltlicher XP-Arbeitsplatzrechner mit
zwei Xeon 2.2GHz ohne Hyperthreading 1GB Ram und SCSI-Platten.
Netzanbindung mit 100MBit an einen ziemlich unterbeschaeftigten
Windows 2000 Server.

1. grep (ohne v14-Ersetzungen natuerlich)
(cygnus Port, native Suchprogramme sollten schneller sein)
Datenbank lokal: 41s
Netzdatenbank: 195s

2. selbstgeschriebenes Perlskript (nicht unbedingt fuer
~  Volltextsuchen optimiert, sondern der Versuch, einige OO-
~  Module fuer allegro zu testen)
2a. ohne v14-Ersetzungen
~ lokal: 48s
~ netz: 191s
2b. v14-Emulation durch 2 Suchlaeufe (der zweite testet die
~  Daten auf Verknuepfung mit ca. 400 im ersten Lauf gewonnenen
~  Stammsatz-Identnummern ab)
~ lokal: 123s
~ netz: 441s

3. srch -f4 -s shakespeare
3a. mit -F (d.i. ohne v14-Ersetzungen)
~ lokal: 11.7m
~ netz: 12.6m
3b. ohne -F (d.i. mit v14-Ersetzungen)
~ lokal: 25.6m
~ netz: 25.4m

4. a99 (v25.2 mit ftf.flx vom 1.2.2005) minimiert laufend.
4a. "down Ref" auskommentiert (ohne v14-Ersetzungen)
~ lokal: 1.96h
~ netz: 3.30h
4b. unmodifiziert (d.i. mit v14-Ersetzungen)
~ lokal: 2.52h
~ netz: 3.60h

(Die Datenbank enthaelt einen Mix aus stark normdatenverknuepften
Titeldaten der Katalogisierung, kaum verknuepften Titeldaten aus
Retrokonversionen, vielen Stammsaetzen und einigen Bestell- und
Exemplardatensaetze: zusammen ca. 1,25GB ALD-Dateien, also mehr
als der verfuegbare Hauptspeicher. Der Suchbegriff ist nicht besonders
haeufig vertreten, je nach Suchmodus zwischen 1300 und 1400 Treffern in
der Gesamtdatenbank.)

Fazit:
1. Im Gegensatz zu anderen Methoden ist srch (ohne v14-Ersetzungen)
~   uebers Netz nicht langsamer als Lokal.
2. Beruecksichtigt man fuer 1995 eine Rechnerausstattung mit 100MHz
~   Pentium-1, so kann man sagen: Volltextsuche heute mit a99.exe ist
~   1,5 bis 3,7 mal so schnell wie vor 10 Jahren mit srch.
3. a99 kann ohne Performanzeinschraenkung auch in 11Mbit-WLANs oder
~   ueber schnellere DSL-Leitungen betrieben werden (Netznutzung auch
~   bei v14-Expansion nie mehr als 3Mbit/s). Andere Software benoetigt
~   dafuer ausgekluegelte Client-Server-Loesungen.

Sonstige Beobachtungen:
- - a99 liest in der Summe ueber 21GB ein, um eine Volltextsuche ueber
~  knapp 1,3GB Daten zu machen (o.k., a99 veranstaltet keine echte
~  Volltextsuche, denn die Saetze werden ueber die Satznummer, also per
~  .TBL-Zugriff angefordert, aber 1500% Overhead scheinen doch sehr
~  drastisch).
- - Die a99-Tests bei 4. habe ich mit minimiertem Fenster durchgefuehrt,
~  es scheint sonst pro betrachtetem Datensatz (mindestens) das Menue
~  neu gezeichnet zu werden, wenn nicht sogar alle Fensterkomponenten.
~  Der Netzdurchsatz bei den Tests sinkt bei sichtbarem Fenster um einen
~  Faktor 2 bis 3, ich habe aber nicht gemessen, um welches Mass sich die
~  reale Ausfuehrungszeit veraendert. Bietet Windows nicht Mittel, nur
~  ganz gezielt das zu aktualisieren, was wirklich neu zu zeichnen ist
~  (da vormals verdeckt oder sonstwie geaendert)?

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCa8PeENVh3bB0lwMRAltsAJ9OjNARXoOyLcBvDfGktY3F0unLtACgxcpQ
V7bbXeRv0pQvZWW7RV4N7cY=
=6XPv
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro