Optimisation des performances du connecteur Openflow pour Kafka¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
Cette rubrique fournit des conseils pour optimiser les performances du site Connecteur Openflow Snowflake pour Kafka afin d’obtenir un débit optimal et de minimiser la latence lors de l’ingestion de données dans Snowflake.
Considérations en matière de performances¶
Lorsque vous configurez le connecteur Openflow pour Kafka pour des performances optimales, tenez compte des facteurs clés suivants qui ont un impact sur le débit d’ingestion et la latence :
Configuration de Kafka¶
Nombre de partitions¶
Un plus grand nombre de partitions permet un parallélisme plus élevé, mais nécessite une coordination rigoureuse avec la configuration du consommateur. Les partitions excessives peuvent causer plusieurs problèmes : utilisation accrue de la mémoire, élection de leaders plus lentes lors des pannes, et surcharge importante de gestion des métadonnées sur les courtiers.
Compression¶
La compression des messages peut réduire la largeur de bande du réseau mais augmente la charge de travail de CPU.
Optimisation des fichiers de flux¶
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 les courtiers Kafka et Openflow améliore les performances globales. Snowflake recommande de déployer les courtiers Kafka et Openflow dans la même région 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 :
Taille du nœud |
Recommandé pour |
Capacité du débit de messages |
|---|---|---|
Small (S) |
Scénarios de débit faible à modéré |
Jusqu’à 18 MB/s par nœud |
Medium (M) |
Scénarios de débit modéré à élevé |
Jusqu’à 145 MB/s par nœud |
Large (L) |
Scénarios à haut débit |
Jusqu’à 250 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 processeurs ConsumeKafka 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 Configurer dans le menu contextuel.
Accédez à l’onglet Planification.
Dans le champ Tâches simultanées, saisissez le nombre préféré de tâches simultanées.
Sélectionnez Appliquer pour enregistrer la configuration.
Paramètres recommandés pour les tâches simultanées¶
Le tableau suivant fournit les paramètres de tâches simultanées recommandés pour différentes tailles de nœuds :
Taille du nœud |
Tâches ConsumeKafka |
Tâches PublishSnowpipeStreaming |
|---|---|---|
Small (S) |
1 |
1 |
Medium (M) |
4 |
2 |
Large (L) |
8 |
2 |
Considérations importantes¶
- Utilisation de la mémoire
Chaque tâche concurrente consomme de la mémoire supplémentaire. Surveillez l’utilisation du tas de JVM lorsque vous augmentez le nombre de tâches simultanées.
- Partitions Kafka
PourConsumeKafka, le nombre de tâches simultanées multiplié par le nombre de nœuds d’exécution ne doit pas dépasser le nombre total de partitions Kafka de toutes les rubriques.
- Commencez prudemment
Commencez par des valeurs plus faibles et augmentez-les progressivement tout en surveillant les performances.
Dépannage des problèmes de performances : goulots d’étranglement de performances courants¶
Délai élevé pour les consommateurs ou goulots d’étranglement au niveau de l’ingestion de Snowflake¶
Si le lag des consommateurs Kafka augmente ou si l’ingestion de Snowflake est lente, effectuez les tâches suivantes :
Vérifiez la connectivité du réseau et la bande passante entre Openflow et les brokers Kafka.
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 Paramètres recommandés pour les tâches simultanées.
Si ce n’est pas le cas, envisagez d’ajouter d’autres tâches simultanées pour le processeur ConsumeKafka dans les limitations de plage fournies dans Paramètres recommandés pour les tâches simultanées.
Envisagez d’utiliser un type de nœud plus grand.
Envisagez d’augmenter le nombre maximal de nœuds pour l’environnement d’exécution.
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.
Réduisez le nombre de tâches simultanées pour le processeur ConsumeKafka.
Envisagez de passer à un type de nœud plus important.
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 plus près de votre cluster Kafka.
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 ConsumeKafka.