AEM as a Cloud Service: Empfohlene Strategie und Grenzwerte für den Massen-Upload programmatischer Assets (~50.000 Assets)
Dieser Artikel enthält Anleitungen zu Best Practices, empfohlenen Beschränkungen und der Konfiguration für das Massen-Hochladen programmgesteuerter Assets in AEM as a Cloud Service mithilfe des direkten binären Uploads.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (AEMaaCS) (alle Versionen)
Problem/Symptome
Sie müssen etwa 50.000 Assets aus einem externen System mithilfe des direkten binären Uploads mit der @adobe/aem-upload-Node.js-Bibliothek in das AEM as a Cloud Service-DAM aufnehmen.
Sie bitten um Bestätigung bezüglich der empfohlenen Strategie, des unterstützten Durchsatzes, der Batch-Größe, der gleichzeitigen Nutzung und etwaiger offizieller Grenzwerte, um eine Überlastung des Asset Compute-Services oder das Auslösen von Einschränkungen zu vermeiden. Es wurden noch keine Fehlermeldungen gemeldet, Sie möchten jedoch den Ansatz vor der Aufnahme in die Produktion validieren.
- Volumen des Massenuploads: 50.000 Assets
- Ansatz: Direkter binärer Upload über vordefinierte URLs (
@adobe/aem-upload) - Batch-Muster: Batch-Upload mit Wiederholungslogik
- Batch-Größe: Die Dokumentation schlägt 10-50 in der Produktion vor
- Parallelität:
withMaxConcurrent()Methode verfügbar - Authentifizierung: Service-Anmeldeinformationen (OAuth S2S/JWT)
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Verwenden des direkten binären Uploads
- Befolgen Sie das Tutorial zum programmgesteuerten AssetUpload und die HTTP-API-Referenz zum Asset-Upload.
- Die Methode des direkten binären Uploads wird für die Aufnahme in großem Umfang empfohlen, da Dateien direkt in den Cloud-Speicher hochgeladen werden und die Belastung der AEM JVM minimiert wird.
-
Konfigurieren von Batch-Größe und gleichzeitiger Verarbeitung
-
Verwenden Sie das Batch-Upload-Muster, wie in der Dokumentation beschrieben.
-
Empfohlene Startkonfiguration:
batchSize: 20-50 Dateien pro BatchmaxConcurrent: 5-8 gleichzeitige Uploads pro Client-Prozess
-
Passen Sie diese Werte basierend auf den Ergebnissen des Pilotprojekts und dem beobachteten Systemverhalten an.
-
-
Überwachen von Durchsatz und Verarbeitung
- Für die Upload-API selbst gibt es keine strenge feste Begrenzung für Anfragen pro Sekunde oder Assets pro Stunde.
- Der tatsächliche Durchsatz wird durch die Netzwerkbandbreite und die gleichzeitige Verwendung von Clients gesteuert.
- Verarbeitung nach dem Hochladen (Miniaturen, Metadaten, Dynamic Media usw.) wird von Asset Compute Microservices verarbeitet. Typische Verarbeitungsraten sind 5.000-9.000 Assets pro Stunde.
- Bei 50.000 Assets sollte die Verarbeitung unter Standardbedingungen innerhalb weniger bis mehrerer Stunden abgeschlossen sein.
-
Pilot und Monitor
- Führen Sie ein Pilotprojekt mit 1.000-2.000 Assets aus, um die Konfiguration zu validieren und Fehler wie Zeitüberschreitungen, HTTP 413 (Payload zu groß) oder HTTP 429 (zu viele Anfragen) zu überwachen.
- Überwachen Sie Verarbeitungszeiten und Verarbeitung… Banner in AEM.
- Passen Sie die Batch-Größe und Gleichzeitigkeit nach Bedarf an, um den Durchsatz zu optimieren, ohne eine Drosselung auszulösen.
-
Authentifizierung und Berechtigungen
- Verwenden Sie Service-Anmeldeinformationen (OAuth S2S/JWT) mit einem Konto, das über die erforderlichen Upload-Berechtigungen verfügt.
-
Uploads angemessen planen
- Für dieses Volumen ist keine spezielle Umgebung-Skalierung erforderlich.
- Erwägen Sie, Uploads außerhalb der Spitzenzeiten auszuführen, um den Verarbeitungsdurchsatz zu maximieren.
Ursache
Der Ansatz des direkten binären Uploads ist für die Aufnahme großer Volumina konzipiert und nutzt Cloud-Speicher und Microservices für die Skalierbarkeit. Der Durchsatz wird hauptsächlich durch die Verarbeitungskapazität nach dem Hochladen begrenzt, nicht durch die Upload-API selbst.