[Allegro] Hohe CPU-Last durch Avanti

Klaus Lehmann lehmann_klaus at t-online.de
Di Jan 4 10:23:37 CET 2022


 
Guten Tag Herr Schrader,
danke für Ihre Nachricht.
Am Dienstag, 4. Januar 2022 um 09:22 schrieben Sie.
Ihre Nachricht finden Sie am Ende dieser eMail.

> 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
uraltes gedöns, sieht gar nicht schön aus. keine funktionen. egal.




> Das Ganze läuft unter Linux seit Jahren stabil und anstandslos,
tja, so muss es sein. nur linux kann das.

>  allerdings erzeugt der Avanti-Dienst konstant zwischen 15% und 20% CPU-Last (laut top),
>  
bei aktiven ca 30(sik) online-katalogen für bibliotheken sieht es so aus:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
25913 allegron  20   0   896  296  192 S   19  0.0  36:01.12 1-avanti
25915 allegron  20   0   884  200  140 S   19  0.0  36:03.31 2-avanti
25920 allegron  20   0  1144  616  200 S   19  0.0  36:40.95 3-avanti   

[nicht verwirren lassen, es sind 3 verschiedene avanti-aufrufe]



> selbst wenn keine Anfragen gestellt werden. 
dass ist bei mir leider nie der fall. und unterschätzen sie die "chin. freunde" nicht (baiduu spider und co), die halten Ihren server auf trab!


> 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?
keine ahnung.....


lassen wir doch mal ihren "heh"-katalog mal "etwas schöner" auf meinem testserver laufen, vielleicht auch mit anderen loglevel-werten?
das kann ich auf die schnell sicherlich derzeit gut einrichten. ich ruhe mich gerade von marc aus....


> 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

mir fällt nix negatives auf.



> Die Logs sind wenig erhellend:
naja. da steht viel müll drin. und nicht "das richtige" ;-)   s.u.!

> [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>

als tip:
loglevel = all,!mem,!io,!data,!location,!level
#loglevel = all

der erste eintrag ist für den normalbetrieb.
der zweite eintrag ist zum testen! (nicht vergessen, zurückzuschalten, avanti rebooten)




!SO! könnte ein log aussehen: 
=============================
da sind viel mehr nützliche infos drin:
[2022-01-03 01:01:08] avanti started from /
[2022-01-03 01:01:08] avanti server av-x v31.1 listening on port 4949
[2022-01-03 01:01:08] start slave - /usr/local/avanti/bin/avanti -slave
[2022-01-03 01:01:08] ci_open /usr/local/avanti/bin/avanti -slave
[2022-01-03 01:01:08] <conn 0> opened from host 127.0.0.1
[2022-01-03 01:01:08] Database: @ DB=smu ID=master
[2022-01-03 01:01:08] <conn 0> setting cpu time rlimit to 120
[2022-01-03 01:01:08] <conn 0> slave 2 starting '/usr/local/avanti/bin/./acon'
[2022-01-03 01:01:08] <conn 0> Directory for DB=smu is /home/schwulesmuseum.allegronet.de/data/smu
[2022-01-03 01:01:08] <conn 0> Database : smu ; User : master ; Access : 3
[2022-01-03 01:01:08] <conn 0>
[2022-01-03 01:01:08] <conn 0>
[2022-01-03 01:01:08] <conn 0> child exited with status 4352
[2022-01-03 01:01:08] <conn 0> JOB DONE
[2022-01-03 01:01:08] end job  




was halten sie vom heh-katalog im Gewande von VuFind?
====================================================
hier die zfl als vufind. auf https://zfl.vufindnet.de/zfl/



soweit erstmal und terve
Ihr klaus lehmann



> Mit besten Grüßen
> Jarmo Schrader




-- 
Mit freundlichen Grüßen,
Ihr Klaus Lehmann
http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
allegronet.de * Klaus Lehmann * D-01454 Radeberg * Bahnhofstr. 1
zuständiges Finanzamt: FA Hoyerswerda; zuständige Kammer: IHK Dresden;
zuständige Aufsichtsbehörde: Gewerbeamt Radeberg; USt-IdNr: DE247550760
* Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
* Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow. Yes we can!
* Internetkataloge & WebHosting für Allegro-C & Web 2.0 mit VuFind
* 2011-22: Sponsor: Peter-Sodann-Bibliothek+IFLA:allegro-utf8
* 2013-14: Bolero 32bit.+allegro-zdb: endlich. + eBooks
* 2015-16: allegro-imd. Die weltgrößte(?) Filmdatenbank
* 2017-22: Exporte. Marc und Co. Marc ist sehr different
* 2019: All for VuFind! The perfect export into marc21
* 2020: kohanet.de. Alternativen zu allegro-C und allegronet.de



Am Dienstag, 4. Januar 2022 um 09:22 schrieben Sie:
> 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



Mehr Informationen über die Mailingliste Allegro