Les Performances de DataSunrise sous une Forte Charge de Trafic
DataSunrise est fréquemment sollicité quant à ses performances lorsqu’il traite des volumes de trafic dépassant les limites typiques. Les clients sont particulièrement préoccupés par la possibilité que DataSunrise laisse tomber du trafic, connaisse des retards ou gère la situation différemment. Cet article explore comment DataSunrise fait face à de tels scénarios.
Capacité Opérationnelle et Indicateurs de Performance
Pour comprendre comment DataSunrise fonctionne sous pression, il est crucial de saisir ses seuils opérationnels dans diverses configurations de serveurs. Voici les opérations maximales par seconde pour différentes instances Amazon EC2, ce qui pousse l’utilisation du CPU à 100% pour les tâches de proxy et d’audit :
- m5.8xlarge : 24 500 opérations/sec
- m5.4xlarge : 18 700 opérations/sec
- m5.2xlarge : 15 350 opérations/sec
- m5.xlarge : 7 800 opérations/sec
- m5.large : 3 900 opérations/sec
Ces résultats sont basés sur nos tests utilisant RDS Postgres sur une instance m5.2xlarge équipée de stockage de 12 000 IOPS.
Identifier et Gérer les Goulets d’Étranglement
Goulets d’Étranglement du Système d’Audit
Si le stockage d’audit ne peut suivre un pic de trafic, DataSunrise utilise une file d’attente interne dans son système de journal d’audit, capable de gérer plusieurs milliers d’événements selon les paramètres du système (voir le paramètre AuditHighWaterMark). Si les pics de trafic dépassent la capacité de la file d’attente, les événements peuvent être rejetés. Cependant, ce comportement par défaut peut être modifié pour que DataSunrise se mette en pause et attende qu’il y ait de la place dans la file d’attente pour enregistrer de nouveaux événements (voir le paramètre AuditPutThreadQueueWait). Pendant cette attente, le trafic de l’application pourrait être temporairement arrêté, généralement de quelques millisecondes à quelques secondes, selon les performances du système d’audit.
Pour optimiser votre système d’audit, tenez compte des éléments suivants :
- Améliorer les performances de la base de données en sélectionnant des serveurs avec plus de CPU et de mémoire.
- Vérifier votre configuration réseau car la latence affecte grandement les performances ; idéalement, l’hôte DataSunrise et le stockage d’audit devraient être sur le même sous-réseau.
- Réviser et adapter vos règles et événements d’audit pour ne se concentrer que sur ceux essentiels à vos politiques de conformité.
Goulets d’Étranglement du Système de Parsing de DataSunrise
Si votre système d’audit fonctionne correctement, l’utilisation du CPU devient alors le prochain goulet d’étranglement potentiel. Le mode de fonctionnement – passif ou actif – influence grandement l’impact sur l’application :
- Mode Passif. Ici, le trafic est traité de manière asynchrone dans un pool de threads distinct avant d’être renvoyé au serveur. Le trafic est temporairement stocké dans une file d’attente interne, qui peut amortir les pics et potentiellement améliorer les performances de l’application (voir les paramètres MessageHandlersGlobalQueueHighWaterMark et MessageHandlersLocalQueueHighWaterMark). Si cette file d’attente se remplit, DataSunrise arrêtera de parser le nouveau trafic sur cette connexion, et vous recevrez une alerte dans le moniteur d’événements. Cette situation ne dégradera pas les performances de l’application, mais certains événements pourraient être manqués dans l’audit.
- Mode Actif. Dans ce mode, le trafic ne peut pas être traité de manière asynchrone car DataSunrise doit prendre des décisions en temps réel sur les opérations. Aucune file d’attente n’est utilisée, et les performances sont directement corrélées aux capacités du CPU. En période de pics de trafic, DataSunrise traite autant que possible, ce qui peut augmenter la latence dans vos requêtes d’application.
Comprendre ces mécanismes et paramètres peut vous aider à optimiser la configuration de DataSunrise pour mieux gérer les volumes de trafic élevés et prévenir les goulets d’étranglement potentiels de performance.
Pour en savoir plus sur le choix de la bonne base de données pour le stockage d’audit et l’amélioration de ses performances, consultez notre guide détaillé Comment Choisir la Base de Données pour le Stockage d’Audit : Une Analyse de Performance.