[Allegro] Hohe CPU-Last durch Avanti

Jarmo Schrader jarmo.schrader at uni-hildesheim.de
Di Jan 4 09:22:28 CET 2022


Liebe Allegro Gemeinde,

an der UB Hildesheim betreiben wir seit vielen Jahren eine einfache 
Allegro-Datenbank mit Weboberfläche für den Nachlass des Schriftstellers 
Hans Egon Holthusen: 
https://ubwww.uni-hildesheim.de/cgi-bin/holthusen/heh/maske.pl?db=heh

Das Ganze läuft unter Linux seit Jahren stabil und anstandslos, 
allerdings erzeugt der Avanti-Dienst konstant zwischen 15% und 20% 
CPU-Last (laut top), selbst wenn keine Anfragen gestellt werden. Auch 
wenn unser Server die Last gut verträgt, missfällt mir das sinnlose 
verheizen von CPU-Zyklen doch zunehmend.
Kann ich da etwas tun?

Aktuell läuft bei uns Avanti 29.1 in 32 bit. Ein Test mit der 64-bit 
Version vom 05.08.2020 hat an der CPU-Last nichts geändert, allerdings 
ergab die Suche dann immer 0 Treffer (wohl ein Konfigurationsproblem).

Die avanti.conf sieht so aus:

[general]
port=4949
AnonymousAccess=yes
IniFileTimeCheck=off
logfile=/var/log/avanti/avanti.log
prefork = 1
max_cputime = 120
loglevel = all,!mem,!data

[heh]
directory = /usr/local/avanti/heh/
access = 3
konfiguration = a
indexparameter = cat
opac=OPAC:0
master=AVANTI:3
admin=ALLEGRO:2



Die Logs sind wenig erhellend:

[2022-01-04 09:15:08]   (NOTE) avanti server listening on port 4949 <at 
avanti.c, line 236>
[2022-01-04 09:15:22]   (NOTE) <conn 0> opened from host 127.0.0.1 <at 
avanti.c, line 405>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> setting cpu time rlimit to 120 
<at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (31 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> slave started (prefork = 1) <at 
avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (28 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> socket -> stdin (212 bytes) <at 
avanti.c, line 455>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> forking 
'/usr/local/avanti/bin/..//bin/avanti-cl' <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (50 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> forking 
'/usr/local/avanti/bin/..//bin/avanti-cl' <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (50 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (737 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (12 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> Sorting 150 records...donejob 
done <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (35 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> socket -> stdin (595 bytes) <at 
avanti.c, line 455>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> forking 
'/usr/local/avanti/bin/..//bin/avanti-cl' <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (50 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (837 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (12 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> job done <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (9 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> socket -> stdin (585 bytes) <at 
avanti.c, line 455>
[2022-01-04 09:15:22]     (IO) <conn 0> socket -> stdin (10 bytes) <at 
avanti.c, line 455>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> forking 
'/usr/local/avanti/bin/..//bin/avanti-cl' <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (50 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (837 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]     (IO) <conn 0> stdout -> socket (12 bytes) <at 
avanti.c, line 493>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> job done <at avanti.c, line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (9 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> closed stdin <at avanti.c, line 465>
[2022-01-04 09:15:22]     (IO) <conn 0> closed stdout <at avanti.c, line 
503>
[2022-01-04 09:15:22]  (SLAVE) <conn 0> slave finished ok <at avanti.c, 
line 586>
[2022-01-04 09:15:22]     (IO) <conn 0> stderr -> log (18 bytes) <at 
avanti.c, line 552>
[2022-01-04 09:15:22]     (IO) <conn 0> closed stderr <at avanti.c, line 
539>
[2022-01-04 09:15:22]   (NOTE) <conn 0> closed <at avanti.c, line 437>

Mit besten Grüßen
Jarmo Schrader

-- 
Dr. Jarmo Schrader
stellv. Bibliotheksleiter
Fachreferat und EDV
Stiftung Universität Hildesheim
Universitätsplatz 1
31141 Hildesheim

Tel: +49 (0) 5121 - 883 - 93004
Fax: +49 (0) 5121 - 883 - 93005
jarmo.schrader at uni-hildesheim.de


Mehr Informationen über die Mailingliste Allegro