2017-07-25 3 views
0

Mit OpenDJ3.0 werden etwa 3 Millionen Einträge gespeichert. Die Einträge, die ich gespeichert habe, sind Token mit ttl (aka Verfallszeit).opendj, 3m Daten, ldapsearch --timelimit 60 nie zurückkehren

Ich versuche, einen Cron-Job zu planen, um diese abgelaufenen Tokens regelmäßig zu suchen und sie zu löschen.

I OpenDJ sdk SimplePagedResultsControl bin mit einem ausgelagerten Suche durchzuführen, pagesize = 1000, = Zeitlimit von 60 Sekunden Suchfilter ist (token-ttl < = 20170724234636.576Z)

Die Suche Benutzer I verwendet habe, ist, der Standard "cn = Directory Manager", mit Standardeinstellungen für die Ressourcenbeschränkung. BTW, das Einstiegslimit für Token-ttl Index I gesetzt ist 20000

Aber im Falle von zwei viele Token den Filter abgestimmt, dauerte die Suche für immer zurückzukehren.

Ich versuchte das Dienstprogramm ldapsearch, das gleiche Ergebnis.

Irgendwelche Vorschläge?

Dank

Antwort

0

Es sieht aus wie die Suche nicht indiziert ist und versucht, die gesamte Datenbank auf der Suche nach passenden Einträgen zu durchsuchen. Normalerweise sollte Ihre Suche ein Limit erreichen und mit Nachdruck gestoppt werden (wie beim Lesen des Cursors: sobald 100000 Datensätze in der Datenbank gelesen wurden).

Sie können versuchen, einen Bestellindex für das token-ttl-Attribut hinzuzufügen? Suchfilter, die dieses Attribut erreichen, werden zwar schneller sein, jedoch wird jede Operation, die dieses Attribut aktualisiert, etwas langsamer sein. Das ist der Kompromiss mit Indizes.

+0

Dank JnRouvignc. Ich bin mir ziemlich sicher, dass ich den Index für token-ttl hinzugefügt habe. –

+0

Wie genau ist der Index? Ist die Indexierung auf die Sekunde genau oder auf die Millisekunde genau? Sind Sie sicher, dass es sich um einen Bestellindex handelt? – JnRouvignac

Verwandte Themen