Auslastung REST-API

Hallo,
wir haben uns einen Dienst erstellt, welcher unsere Kontakte in das MobyDick-Telefonbuch überträgt. Wir mussten alle Einträge(ca. 5k) updaten, was die MD so stark ausgelastet hat, dass die Weboberfläche quasi nicht mehr genutzt werden konnte. Es erschien alle paar Sekunden die Meldung “Der Server reagiert nichtmehr - Neu einloggen”. Es wäre toll, wenn die API nur einen gewissen Teil der Ressourcen in Anspruch nehmen würde, damit parallel auch weitere Operationen möglich sind. Außerdem wäre es praktisch, aktuelle Jobs aus der Warteschlange entfernen zu können, um solche Vorgänge abzubrechen. Evtl. gibt es über die Konsole ja bereits eine Möglichkeit dazu, über die Weboberfläche wäre es allerdings auch für Endverbraucher einfacher.

Guten Morgen,

danke für die Info. Mit der nächsten 7.10 werden wir den Zugriff auf das Telefonbuch via Ldap optimieren bzw. wird die Synchronisierung zwischen Datenbank und Ldap Service anders erfolgen, so dass dies wesentlich Performance schonender passieren wird.

Gruß
Markus

Hallo Markus,
das hört sich gut an. Gibt es denn momentan schon eine Möglichkeit, um die laufenden Jobs abzubrechen?
Wie es aussieht, hängt er bei einem Eintrag und versucht immer wieder, diesen ins Telefonbuch zu bringen.


tsk010105: Stoppe LDAP Server
. Starte [/etc/init.d/slapd stop]
... Stopping OpenLDAP: slapd.
. Exit: [0]
Füge Telefonbucheinträge zur Datenbank hinzu
. Starte [su - openldap -s /bin/sh -c '/usr/sbin/slapadd -l /TARGET/SHARE/var/www/mobydickcmd//tmp/phonebook.ldif']
=>bdb_tool_entry_put: id2entry_add failed: DB_KEYEXIST: Key/data pair already exists (-30995)
=>bdb_tool_entry_put: txn_aborted! DB_KEYEXIST: Key/data pair already exists (-30995)
slapadd: could not add entry dn="cn=Kontaktinfo,dc=phonebook,dc=mobydick" (line=65410): txn_aborted! DB_KEYEXIST: Key/data pair already exists (-30995)
.Exit: [1]
Das Telefonbuch konnte nicht aktualisiert werden

Gruß Kernig

Hi,

den Job-Dienst kannst du per Shell init-Skript /etc/init.d/exd stop beenden und mit /etc/init.d/exd start wieder starten.

So wie es bei dir aussieht gibt es bereits einen Eintrag im Ldap mit dem dn und es wird versucht noch einen zweiten mit dem gleichen dn anzulegen. Was natürlich nicht geht, da der dn eindeutig sein muss. Sprich du hast wahrscheinlich in deinem Telefonbuch zwei identische Einträge bzw. sehr ähnlich Einträge stehen. Prüf das bitte mal. Im Log sollte hierzu noch mehr zu finden sein.

Gruß
Markus