

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Régulation de la recherche et de l'écriture
<a name="Durability.SearchThrottling"></a>

Pour maintenir des performances et une durabilité des données optimales, ElastiCache le **mode durable** implémente la limitation des écritures sur le trafic de recherche lorsque cela est nécessaire. La régulation permet de garantir que les mécanismes de sauvegarde automatique fonctionnent efficacement sans prendre de retard pendant les périodes de forte activité d'écriture. En réduisant temporairement le débit d'écriture, le système préserve l'intégrité du journal des Multi-AZ transactions, ce qui est essentiel pour une restauration et un redémarrage rapides de la base de données.

## Portée de l'étranglement
<a name="Durability.SearchThrottling.Scope"></a>

Seules les commandes d'écriture ciblant les clés appartenant à un index de recherche sont limitées. Les écritures sur des touches non indexées et toutes les commandes de lecture **ne sont pas** affectées.

Les commandes suivantes sont sujettes à une limitation lorsqu'elles ciblent des clés indexées :


**Commandes soumises à une limitation de l'écriture et de la recherche**  

| Catégorie | Commandes | 
| --- | --- | 
| Hachage | HSET, HSETNX, HMSET, HINCRBY, HINCRBYFLOAT, HDEL | 
| JSON | JSON.SET, JSON.DEL, JSON.NUMINCRBY, JSON.NUMMULTBY, JSON.STRAPPEND, JSON.ARRAPPEND, JSON.ARRINSERT, JSON.ARRPOP, JSON.ARRTRIM, JSON.TOGGLE, JSON.CLEAR, JSON.MERGE | 
| Générique | DEL, UNLINK, RENAME, RENAMENX, COPY, RESTORE | 

## Ce que vivent les clients
<a name="Durability.SearchThrottling.ClientExperience"></a>

Les commandes limitées sont **retardées et non rejetées**. Les écritures concernées prennent plus de temps mais réussissent quand même. Aucune erreur n'est renvoyée au client.

Vous pouvez observer l'impact à l'aide des CloudWatch statistiques Amazon suivantes :
+ `SuccessfulWriteRequestLatency`et `SearchBasedSetCmdsLatency` — Reflète l'augmentation de la latence sur les écritures concernées.
+ `SearchWriteThrottleActive`,`SearchWriteThrottledClientsCount`, et `SearchWriteThrottleEvents` — Indiquez si la régulation est active et dans quelle mesure. Consultez [Contrôle](#Durability.SearchThrottling.Monitoring) pour plus de détails.

## Lorsque la régulation s'active
<a name="Durability.SearchThrottling.Activation"></a>

Le système surveille l'utilisation du processeur par les fils d'écriture du module de recherche sur une période continue de 2 heures. La régulation s'active lorsque l'utilisation moyenne du processeur au cours de cette fenêtre dépasse 50 % et ajuste le taux d'écriture autorisé pour ramener l'utilisation moyenne à 50 %.

Comme la moyenne de la métrique est calculée sur une période de 2 heures, de courtes périodes d'utilisation élevée du processeur ne déclenchent pas de ralentissement à elles seules, à condition qu'elles soient compensées par une baisse de l'utilisation au cours de la même période.

Pour éviter toute saturation excessive, le système évalue également l'utilisation actuelle du processeur en temps réel. Si l'utilisation actuelle du processeur est déjà inférieure ou égale à 50 %, le système maintient le taux d'écriture stable au lieu de le réduire davantage, même si la moyenne sur 2 heures reste supérieure au seuil. Cela garantit que la capacité d'écriture ne tombe jamais en dessous de 50 % du débit normal.

## Lorsque la régulation est désactivée
<a name="Durability.SearchThrottling.Deactivation"></a>

Une fois que l'utilisation moyenne du processeur sur 2 heures tombe en dessous de 50 %, le système augmente progressivement le taux d'écriture autorisé jusqu'à ce que le débit soit rétabli et que la régulation soit désactivée.

## Contrôle
<a name="Durability.SearchThrottling.Monitoring"></a>

Les CloudWatch métriques Amazon suivantes sont disponibles pour surveiller la limitation des écritures de recherche :


**Mesures de limitation de la recherche et de l' CloudWatch écriture**  

| Métrique | Description | Unit | 
| --- | --- | --- | 
| SearchWriteThrottleActive | Indique si la régulation est actuellement active. 1= actif, 0 = inactif. | Booléen | 
| SearchWriteThrottledClientsCount | Le nombre de connexions client actuellement limitées. | Nombre | 
| SearchWriteThrottleEvents | Nombre d'événements liés à l'accélérateur pendant l'intervalle de notification. | Nombre | 
| SearchWriteCPUUtilization | Utilisation actuelle du processeur par les threads du rédacteur de recherche. | Pourcentage | 

## Bonnes pratiques
<a name="Durability.SearchThrottling.BestPractices"></a>
+ **Surveillance `SearchWriteCPUUtilization`** : suivez l'utilisation de votre processeur de recherche et d'écriture pour comprendre vos modèles de charge de travail et anticiper le moment où vous pourriez atteindre le seuil de limitation.
+ **Surveillance `SearchWriteThrottleActive`** : vérifiez si la régulation est active afin de pouvoir enquêter et réagir rapidement.
+ **Planifiez une ingestion prolongée autour de la fenêtre de 2 heures** : le système utilise une moyenne mobile sur 2 heures, de sorte que les courtes périodes d'activité d'écriture intense sont entièrement prises en charge tant qu'elles sont compensées par une baisse de l'utilisation au cours de la même fenêtre.
+ **Faites évoluer votre cluster si vous observez une régulation prolongée ou fréquente** — Si votre charge de travail dépasse régulièrement le seuil et que la limitation a un impact sur les exigences de latence de votre application, envisagez de la dimensionner pour augmenter la capacité.