Réglage des performances du Openflow Connector for Amazon Kinesis Data Streams¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
Lors de la configuration du connecteur Openflow pour Kinesis pour des performances optimales, tenez compte des facteurs clés suivants qui ont un impact sur le débit d’ingestion et la latence.
Taille du fichier d’écoulement¶
Pour une optimisation des performances, les fichiers de flux doivent être de l’ordre de 1 à 10 MB plutôt que de contenir des messages individuels de petite taille. Des fichiers de flux plus volumineux réduisent les frais généraux de traitement et améliorent le débit en minimisant le nombre d’opérations sur les fichiers individuels. Les paramètres par défaut devraient permettre d’obtenir des fichiers de flux d’une taille acceptable. De petits fichiers de flux sont attendus lorsque le débit est faible.
Si vous observez de petits fichiers de flux avec un débit élevé, contactez le Support Snowflake pour obtenir de l’aide.
Réseau et infrastructure¶
Temps de latence du réseau¶
La réduction de la latence entre Kinesis et Openflow améliore les performances globales. Il est vivement conseillé que votre flux Kinesis et Openflow soient situés dans le même région de fournisseur de services Cloud (CSP).
Recommandations sur la taille des nœuds¶
Le tableau suivant fournit des recommandations de configuration basées sur les caractéristiques de charge de travail attendues. Les valeurs de débit sont relatives et dépendent fortement de la configuration du système source, des tailles de sujets et de flux, du format des données et d’autres facteurs.
Taille du nœud |
Recommandé pour |
Capacité du débit de messages |
|---|---|---|
Small (S) |
Scénarios de débit faible à modéré |
Jusqu’à 27 MB/s par nœud |
Medium (M) |
Scénarios de débit modéré à élevé |
Jusqu’à 135 MB/s par nœud |
Large (L) |
Scénarios à haut débit |
Dépassement de 135 MB/s par nœud. Jusqu’à 310 MB/s par nœud. |
Meilleures pratiques en matière d’optimisation des performances¶
Ajustement des tâches simultanées du processeur¶
Pour optimiser les performances du processeur, vous pouvez ajuster le nombre de tâches simultanées pour les deux processeurs ConsumeKinesis et PublishSnowpipeStreaming. Les tâches simultanées permettent aux processeurs d’exécuter plusieurs threads simultanément, ce qui améliore le débit des scénarios à haut volume.
Pour ajuster les tâches simultanées pour un processeur, effectuez les tâches suivantes :
Cliquez avec le bouton droit de la souris sur le processeur dans le canevas Openflow.
Sélectionnez Configure dans le menu contextuel.
Accédez à l’onglet Scheduling.
Dans le champ Concurrent tasks, entrez le nombre préféré de tâches simultanées.
Sélectionnez Apply pour enregistrer la configuration.
Paramètres recommandés pour les tâches simultanées¶
Taille du nœud |
Tâches ConsumeKinesis |
Tâches PublishSnowpipeStreaming |
|---|---|---|
Small (S) |
2 |
1 |
Medium (M) |
4 |
2 |
Large (L) |
6 |
3 |
Considérations importantes¶
Utilisation de la mémoire : Chaque tâche simultanée consomme de la mémoire supplémentaire. Surveillez l’utilisation du tas de la JVM lors de l’augmentation des tâches simultanées.
Commencez prudemment : Commencez par des valeurs plus basses et augmentez progressivement tout en surveillant les mesures de performance.
Dépannage des goulots d’étranglement de performance courants¶
Délai élevé pour les consommateurs ou goulots d’étranglement au niveau de l’ingestion de Snowflake¶
Si la latence du consommateur Kinesis augmente ou si l’ingestion Snowflake est lente, effectuez les tâches suivantes :
Vérifiez la connectivité réseau et la bande passante entre Openflow et Kinesis.
Observez si la file d’attente devant le processeur PublishSnowpipeStreaming augmente.
Si oui, pensez à ajouter d’autres tâches simultanées pour le processeur PublishSnowpipeStreaming dans les limitations de plage fournies dans Ajustement des tâches simultanées du processeur.
Si ce n’est pas le cas, envisagez d’ajouter d’autres tâches simultanées pour le processeur ConsumeKinesis dans les limitations de plage fournies dans Ajustement des tâches simultanées du processeur.
Envisagez d’utiliser un type de nœud plus grand.
Envisagez d’augmenter le nombre de nœuds pour l’environnement d’exécution. Pour ce faire, vous pouvez arrêter les connecteurs en cours d’exécution. Changez les nombres de taille minimale et maximale des nœuds et démarrez de nouveau les connecteurs .
Pression de la mémoire¶
Si vous rencontrez des problèmes liés à la mémoire :
Réduisez les tailles de lot pour réduire l’empreinte mémoire. Pour ce faire, il est possible de modifier les paramètres Taille de fragment de fichier et Nombre de fragments de fichier dans le processeur PublishSnowpipeStreaming.
Réduisez le nombre de tâches simultanées pour le processeur ConsumeKinesis.
Envisagez d’utiliser un type de nœud plus grand.
Problèmes de latence du réseau¶
En cas de latence élevée :
Vérifiez la configuration du réseau entre Openflow et les systèmes externes.
Envisagez de déployer Openflow dans la même région que votre flux Kinesis.
Si vous travaillez avec un faible débit, envisagez de réduire les paramètres de décalage client dans le processeur PublishSnowpipeStreaming et le temps max. non validé dans le processeur ConsumeKinesis.