[Allegro] acon/avanti : Performance unter Linux

Thomas Berger ThB at Gymel.com
Di Feb 1 18:06:14 CET 2011


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

Lieber Herr Eversberg,

>> Ich habe das getestet, in dem ich den avanti auf der Konsole gestartet habe
>> und anschliessend eine normale Registersicht expandiert habe zur
>> Kurztitelanzeige. Und dann kann man richtig sehen was da alles abläuft.
>> Jeder einzelne Eintrag der Registersicht wird als getrennter Job abgerufen
>> und wenn es denn in der Registersicht 100 Einträge gibt, wird für die
>> Kurztitelsicht 100mal ein Job abgesetzt. Das war mit dem älteren avanti
>> nicht der Fall.
>>
> Das haben wir ganz sicher nicht so programmiert. Wie sieht das denn aus,
> was Sie beschreiben als "es wird ein Job abgesetzt"?
> Wir betreiben hier auf umserem Webserver einen avanti Solaris auf
> derselben Codebasis, da hat sich an der Performance nichts geändert.

dank offener Quellen habe ich ein Problem identifizieren koennen:

Die Hauptschleife in avanti.c Zeile 166ff geht wie folgt vor:

Wenn gerade keine Verbindung initiiert wird und auch kein noch
nicht abgeschlossener Job in Bearbeitung ist, wird idle erhoeht.
Ist Idle > 100, erfolgt eine "kleine Pause" von einer Sekunde
und idle wird auf 100 gesetzt.

d.h. initial mag es sein, dass 100 * winzig = ein paar Millisekunden
avanti stets bereit ist, der Regelbetrieb ist jedoch, dass avanti
nur ein mal pro Sekunde ueberhaupt ermittelt, ob etwas zu tun ist.

[mein Kommentar: Die Sache wird grundsaetzlich falsch angegangen,
es sollte hoechstens im accept gewartet werden (dafuer laesst sich
ein Timeout setzen), die Unterstuetzung von pipe-Kommunikation ist
allerdings ein Hindernis dabei, ich wusste gar nicht, dass die seit
1996 ueberhaupt noch dringeblieben ist.]

Steht der Server etwas unter Last, faellt die Sache nicht so ins
Gewicht, fuer die beobachteten mindestens 2 Sekunden Verarbeitungszeit
gibt es mindestens noch eine weitere Ursache, der ich spaeter
nachgehen werde.

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iJwEAQECAAYFAk1IPYYACgkQYhMlmJ6W47O3qwP/W7SK5vT+X4FzVPndkqf5Z+G9
EdgVGdFODzD540mKzWzW5KWL19bQP8cY9pSJ99y/3K5bz8gnP9iRXrYefN2huFTq
J3RRSiYQZu16y2T71X9lZ5Kc2WTTkc7BM/G4Z0J5LQnyY1ujPJOB3sIuJ/5i+vKm
sUVT9ybVSOA5B1mWvDk=
=rN4R
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro