Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solucione los problemas de los productores de Amazon Kinesis Data Streams
Los siguientes temas ofrecen soluciones a problemas comunes con los productores de Amazon Kinesis Data Streams:
Mi aplicación de productor se graba a un ritmo más lento de lo esperado
Las razones más comunes por las que el rendimiento de escritura es más lento de lo esperado son:
Se han superado los límites de servicio
Para saber si se están excediendo los límites de servicio, compruebe si su productor está emitiendo excepciones de rendimiento al servicio y valide qué API operaciones se están limitando. Tenga en cuenta que hay diferentes límites en función de la llamada, consulte Cuotas y límites. Por ejemplo, además de los límites de nivel de fragmento para escrituras y lecturas más conocidos, existen los siguientes límites para el nivel de la secuencia:
Las operaciones CreateStream
, DeleteStream
, ListStreams
, GetShardIterator
y MergeShards
están limitadas a 5 llamadas por segundo. La operación DescribeStream
está limitada a 10 llamadas por segundo. La operación DescribeStreamSummary
está limitada a 20 llamadas por segundo.
Si estas llamadas no son el problema, asegúrese de que ha seleccionado una clave de partición que le permita distribuir de manera uniforme las operaciones put en todos los fragmentos, y que no tiene una clave de partición en particular que alcance los límites del servicio sin que el resto lo hagan. Esto requiere que mida los picos de rendimiento y que tenga en cuenta el número de fragmentos de su secuencia. Para obtener más información acerca de cómo administrar secuencias, consulte Cree y administre transmisiones de datos de Kinesis.
sugerencia
Recuerde redondear al kilobyte más cercano para calcular la reducción del rendimiento cuando utilice la operación de registro único PutRecord, mientras que la operación de registro múltiple PutRecordsredondea la suma acumulada de los registros de cada llamada. Por ejemplo, una solicitud PutRecords
con 600 registros de 1,1 KB no será objeto de limitación controlada.
Quiero optimizar mi productor
Antes de empezar a optimizar su productor, complete las siguientes tareas clave. En primer lugar, identifique el rendimiento máximo deseado en términos de tamaño del registro y registros por segundo. A continuación, descarte la capacidad de la secuencia como factor limitante (Se han superado los límites de servicio). Si ha descartado la capacidad de la secuencia, recurra a los siguientes consejos para solucionar problemas y directrices de optimización para los dos tipos comunes de productores.
Productor grande
Por lo general, un gran productor se ejecuta desde un servidor local o una EC2 instancia de Amazon. Los clientes que necesitan un mayor rendimiento de un productor grande normalmente se preocupan de la latencia por registro. Entre las estrategias para gestionar la latencia se incluyen las siguientes: si el cliente puede almacenar registros en microlotes o en búfer, utilice la biblioteca Kinesis Producer (que cuenta con una lógica de agregación avanzada), la operación de varios registros o agregue los registros en un archivo más grande antes de utilizar la operación PutRecordsde registro único. PutRecord Si no puede crear lotes o almacenar en memoria, use varios subprocesos para escribir en un servicio de Kinesis Data Streams al mismo tiempo. Esta AWS SDK for Java y otras SDKs incluyen clientes asíncronos que pueden hacerlo con muy poco código.
Productores pequeños
Un productor pequeño suele ser una aplicación móvil, un dispositivo de IoT o un cliente web. Si se trata de una aplicación móvil, le recomendamos que utilice la PutRecords
operación o la grabadora Kinesis en el AWS dispositivo móvil. SDKs Para obtener más información, consulte la AWS Mobile SDK for Android Guía de introducción y la AWS Mobile SDK for iOS Guía de introducción. Las aplicaciones móviles deben administrar conexiones intermitentes inherentemente y necesitan algún tipo de inserción por lotes, como por ejemplo PutRecords
. Si no puede crear lotes por algún motivo, consulte la información sobre productores grandes que aparece anteriormente. Si su productor es un navegador, la cantidad de datos generados suele ser muy pequeña. Sin embargo, estará ubicando las operaciones put en la ruta crítica de la aplicación, lo que no es recomendable.
Recibo un error de permiso de clave KMS maestra no autorizada
Este error se produce cuando una aplicación de producción escribe en una transmisión cifrada sin los permisos de la clave KMS maestra. Para asignar permisos a una aplicación para acceder a una KMS clave, consulte Uso de políticas clave en AWS KMS y Uso de IAM políticas con AWS KMS.
Solucione otros problemas comunes para los productores
-
¿Por qué mi flujo de datos de Kinesis devuelve un error de servidor interno 500?
-
¿Cómo soluciono los errores de tiempo de espera al escribir desde Flink a Kinesis Data Streams?
-
¿Cómo puedo solucionar los errores de limitación en Kinesis Data Streams?
-
¿Cómo puedo colocar registros de datos en una transmisión de datos de Kinesis mediante el? KPL