

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Problembehandlung Amazon Kinesis Data Streams Streams-Produzenten
<a name="troubleshooting-producers"></a>

**Topics**
+ [Meine Producer-Anwendung schreibt langsamer als erwartet](#producer-writing-at-slower-rate)
+ [Ich erhalte einen unautorisierten KMS-Masterkey-Berechtigungsfehler](#unauthorized-kms-producer)
+ [Beheben Sie andere häufig auftretende Probleme von Herstellern](#misc-troubleshooting-producer)

## Meine Producer-Anwendung schreibt langsamer als erwartet
<a name="producer-writing-at-slower-rate"></a>

**Topics**
+ [Die Servicelimits wurden überschritten](#service-limits-exceeded)
+ [Ich möchte meinen Producer optimieren](#producer-optimization)
+ [Missbrauch von `flushSync()` Vorgängen](#misuse-tag)

### Die Servicelimits wurden überschritten
<a name="service-limits-exceeded"></a>

Wenn Sie wissen möchten, ob die Service Limits überschritten werden, prüfen Sie, ob Ihr Datenproduzent Ausnahmen im Service auslöst, und validieren Sie, welche API-Operationen gedrosselt werden. Beachten Sie, dass es je nach Aufruf verschiedene Limits gibt, siehe [Kontingente und -Einschränkungen](service-sizes-and-limits.md). Beispielsweise gelten zusätzlich zu den bekannten Limits für Schreib- und Lesevorgänge auf Shard-Ebene folgenden Limits auf Stream-Ebene:
+ [CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html)
+ [DeleteStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html)
+ [ListStreams](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html)
+ [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html)
+ [MergeShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_MergeShards.html)
+ [DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html)
+ [DescribeStreamSummary](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html)

Die Operationen `CreateStream``DeleteStream`, `ListStreams`, `GetShardIterator` und `MergeShards` dürfen maximal 5 mal pro Sekunde aufgerufen werden. Die `DescribeStream`-Operation ist auf 10 Aufrufe pro Sekunde begrenzt. Die `DescribeStreamSummary`-Operation ist auf 20 Aufrufe pro Sekunde begrenzt.

Wenn diese Aufrufe nicht das Problem sind, stellen Sie sicher, dass Sie einen Partitionsschlüssel ausgewählt haben, mit dem Sie die *PUT*-Operationen gleichmäßig auf alle Shards verteilen können, und dass Sie keinen Partitionsschlüssel haben, der die Service Limits ausschöpft, wenn der Rest dies nicht tut. Dazu müssen Sie den Spitzendurchsatz messen und die Anzahl der Shards im Stream berücksichtigen. Weitere Informationen zum Verwalten von Streams finden Sie unter [Kinesis-Datenstreams erstellen und verwalten](working-with-streams.md).

**Tipp**  
Bitte beachten, dass Sie bei der Berechnung der Durchsatzdrosselung auf den nächsten Byte aufrunden müssen, wenn Sie die Einzeldatensatz-Operation [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) verwenden. Bei der Mehrfachdatensatz-Operation [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) wird die kumulative Anzahl der Datensätze in den einzelnen Aufrufen gerundet. Eine `PutRecords`-Anforderung mit 600 Datensätzen und einer Größe von 1,1 KB wird beispielsweise nicht gedrosselt. 

### Ich möchte meinen Producer optimieren
<a name="producer-optimization"></a>

Bevor Sie mit der Optimierung Ihres Producers beginnen, müssen Sie die folgenden wichtigen Aufgaben erledigen. Bestimmen Sie zunächst den gewünschten Spitzenwert hinsichtlich Datensatzgröße und Datensätze pro Sekunde. Schließen Sie dann die Stream-Kapazität als Begrenzungsfaktor aus ([Die Servicelimits wurden überschritten](#service-limits-exceeded)). Nutzen Sie die folgenden Tipps zur Fehlerbehebung und Optimierungsanleitungen für die beiden häufigsten Produzententypen, wenn Sie die Stream-Kapazität als Begrenzungsfaktor ausgeschlossen haben.

**Großer Produzent**

Ein großer Produzent wird in der Regel von einem lokalen Server oder einer Amazon-EC2-Instance ausgeführt. Für Kunden, die einen höheren Durchsatz eines großen Produzenten benötigen, ist in der Regel die Latenz pro Datensatz entscheidend. Zu den Strategien für den Umgang mit Latenz gehören die folgenden: Wenn der Kunde Datensätze per Mikro-Batch/Puffer speichern kann, verwendet er die [Amazon Kinesis Producer Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-kpl.html) (die über eine erweiterte Aggregationslogik verfügt), die Operation mit mehreren Datensätzen oder aggregieren Sie Datensätze zu einer größeren Datei [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html), bevor Sie den Einzeldatensatzvorgang verwenden. [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) Wenn Sie keine Stapel bilden und keine Pufferung verwenden können, nutzen Sie mehrere Threads, um gleichzeitig in Service Kinesis Data Streams schreiben zu können. Zu diesen AWS SDK für Java und anderen SDKs gehören asynchrone Clients, die dies mit sehr wenig Code bewerkstelligen können.

**Kleiner Produzent**

Eine kleiner Produzent ist in der Regel eine mobile App, ein IoT-Gerät oder ein Webclient. Wenn es sich um eine mobile App handelt, empfehlen wir, den `PutRecords` Vorgang oder den Kinesis Recorder auf dem AWS Handy SDKs zu verwenden. Weitere Informationen finden Sie in den Handbüchern „ AWS Mobile SDK für Android Erste Schritte“ und „ AWS Mobile SDK for iOS Erste Schritte“. Mobile Anwendungen müssen Verbindungsunterbrechungen bewältigen und benötigen eine Art Stapeleingabe, beispielsweise `PutRecords`. Wenn Sie aus irgendeinem Grund keine Stapel bilden können, lesen Sie sich die oben stehenden Informationen zu großen Produzenten durch. Ist der Produzent ein Browser, ist die Menge der generierten Dateien in der Regel sehr klein. Allerdings platzieren Sie *PUT*-Operationen im kritischen Pfad der Anwendung. Dies wird von uns nicht empfohlen.

### Missbrauch von `flushSync()` Vorgängen
<a name="misuse-tag"></a>

Eine `flushSync()` falsche Verwendung kann die Schreibleistung erheblich beeinträchtigen. Der `flushSync()` Vorgang ist für Shutdown-Szenarien konzipiert, um sicherzustellen, dass alle gepufferten Datensätze gesendet werden, bevor die KPL-Anwendung beendet wird. Wenn Sie diesen Vorgang nach jedem Schreibvorgang implementieren, kann dies zu einer erheblichen zusätzlichen Latenz von etwa 500 ms pro Schreibvorgang führen. Stellen Sie sicher, dass Sie die Implementierung `flushSync()` nur für das Herunterfahren der Anwendung vorgenommen haben, um unnötige zusätzliche Verzögerungen bei der Schreibleistung zu vermeiden. 

## Ich erhalte einen unautorisierten KMS-Masterkey-Berechtigungsfehler
<a name="unauthorized-kms-producer"></a>

Dieser Fehler tritt auf, wenn eine Produzentenanwendung ohne Berechtigung für den KMS-Masterschlüssel Daten in einen verschlüsselten Stream schreibt. Informationen zum Zuweisen von Berechtigungen zu einer Anwendung für den Zugriff auf einen KMS-Schlüssel finden Sie unter [Verwenden von Schlüsselrichtlinien in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) und [Verwenden von IAM-Richtlinien mit AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

## Beheben Sie andere häufig auftretende Probleme von Herstellern
<a name="misc-troubleshooting-producer"></a>
+ [Warum gibt mein Kinesis-Datenstrom einen 500 Internal Server Error zurück?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-stream-500-error/)
+ [Wie behebe ich Timeout-Fehler beim Schreiben von Flink in Kinesis Data Streams?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-flink-timeout/)
+ [Wie behebe ich Drosselungsfehler in Kinesis Data Streams?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-stream-throttling-errors/)
+ [Warum drosselt mein Kinesis-Datenstrom?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-stream-throttling/)
+ [Wie kann ich Datensätze mithilfe der KPL in einen Kinesis-Datenstrom einfügen?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-stream-kpl/)