ECS: S3-Bucket-Auflistung mit Seitennummerierung zur Verbesserung der Performance
Summary: Der KB-Artikel zeigt, wie Sie die unüberschaubare Leistungsauflistung von S3-Buckets verringern können.
Instructions
Dell Elastic Cloud Storage (ECS) legt kein hartes Limit für die Anzahl der Unterordner oder Objekte in einem Bucket oder Präfix fest. Es kann jedoch zu einer Performanceverschlechterung kommen, wenn viele Objekte (z. B. Tausende) unter einem einzigen Präfix oder "Ordner" aufgelistet werden – insbesondere bei Verwendung von S3-kompatiblen Clients.
Das Problem mit dem S3-Bucket mit 570.909 aufgelisteten Objekten kann mehrere Minuten dauern. Dies macht es unüberschaubar, der Vergleich mit einem NAS mit der gleichen Struktur erfolgt sofort.
Dieses Problem kann als Leistungsbeeinträchtigung angesehen werden, da Einträge eine Zeitüberschreitung zu haben scheinen.
Unterschiede in der Art und Weise, wie NAS und S3 Dateien verarbeiten
NAS hat Ordner im Dateisystem als Struktur. Beispiel für ein Strukturlayout:
ROOT /
-> Subfolder l1
-> Subfolder l2 ... lX
-> Files.
Beim Öffnen eines Unterordners, der z.B. 8000 Unterordner enthält, bedeutet dies, dass die Metadaten für die 8000 Unterordner geöffnet werden, wobei eine sofortige Liste zurückgegeben wird.
In S3 existiert das Konzept der Ordner nicht, was bedeutet, dass anstelle einer Struktur Folgendes vorhanden ist:
ROOT /
-> Subfolder l1
-> Subfolder l2 ... lX
-> Files.
Haben Sie nur einen PFAD:
PATH:bucket/subfolder-l1/subfolder-l2/FILE
Die Performance wird jetzt stärker von der Art und Weise beeinflusst, wie die Ordner aufgelistet werden. Beispiel für 20 Ordner mit 8.000 Unterordnern mit jeweils 10.000 Objekten:
get "/bucket?prefix=/subfolder-l1/subfolder-2/&delimter=/"
Da die Liste nach unten begrenzt wird, müssen alle Objekte, die mit einer gemeinsamen Zeichenfolge gekennzeichnet sind, keine Gruppierung durchführen, und die Liste mit 10.000 Elementen wird schneller zurückgegeben.
GET "bucket?prefix=/subfolder-l1&delimiter=/"
In diesem Fall muss das ECS nun alle 8000*10000 Objekte durchlaufen, um die "allgemeinen Präfixe" zu gruppieren, mit anderen Worten die "Unterordner-l2".
Anstatt also 10.000 Objekte zu prüfen, muss jetzt gewartet werden, bis ECS 80 Millionen Objekte verifiziert hat.
Verbessern Sie die Auflistungsleistung, indem Sie die Paginierung verwenden, z. B. S3Broswer Bucket-Paginierung aktivieren (ähnliche Funktionen in anderen Clientanwendungen aktivieren)
Aktivieren Sie die folgende Option in S3Browser –>Extras –>Optionen –>Schnittstelle –>Bucket-Paginierung mit Seitengröße aktivieren:

Der Prozess des Sendens nachfolgender Anfragen, um dort fortzufahren, wo eine vorherige Anforderung aufgehört hat, wird als Paginierung bezeichnet. Die Paginierungsfunktion hilft Ihnen, große Bucket-Auflistungen zu verwalten und anzuzeigen, indem sie sie in besser verwaltbare Seiten aufteilt. Es ermöglicht die Auflistung eines bestimmten Verzeichnispfads statt aller Objekte in einem Bucket.