Working with concurrency scaling - Amazon Redshift

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

Working with concurrency scaling

Avec la fonction de mise à l'échelle de la simultanéité, vous pouvez prendre en charge un nombre pratiquement illimité d'utilisateurs simultanés et de requêtes simultanées, avec des performances de requêtes toujours rapides. Lorsque la mise à l'échelle de la simultanéité est activée, Amazon Redshift ajoute automatiquement de la capacité de cluster supplémentaire lorsque vous en avez besoin pour traiter une augmentation des requêtes de lecture simultanées. Les opérations d'écriture se poursuivent normalement sur votre cluster principal. Les utilisateurs voient toujours les données les plus récentes, que les requêtes s'exécutent sur le cluster principal ou sur un cluster de mise à l'échelle de la simultanéité. Vous êtes facturé pour les clusters de mise à l'échelle de la simultanéité uniquement pour la durée de leur utilisation. Pour plus d'informations sur la tarification, consultez Tarification Amazon Redshift. Vous gérez quelles sont les requêtes envoyées au cluster de mise à l'échelle de la simultanéité en configurant les files d'attente de la gestion de la charge de travail. Lorsque vous activez la mise à l'échelle de la simultanéité pour une file d'attente, les requêtes éligibles sont envoyées au cluster de mise à l'échelle de la simultanéité au lieu d'attendre en ligne.

Concurrency scaling regions

La fonction de mise à l'échelle de la simultanéité est disponible uniquement dans les régions AWS suivantes :

  • Région USA Est (Virginie du N.) (us-east-1)

  • Région USA Est (Ohio) (us-east-2)

  • Région USA Ouest (Californie du Nord) (us-west-1)

  • Région USA Ouest (Oregon) (us-west-2)

  • Région Asie-Pacifique (Mumbai) (ap-south-1)

  • Région Asie-Pacifique (Séoul) (ap-northeast-2)

  • Région Asie-Pacifique (Singapour) (ap-southeast-1)

  • Région Asie-Pacifique (Sydney) (ap-southeast-2)

  • Région Asie-Pacifique (Tokyo) (ap-northeast-1)

  • Région Canada (Centre) (ca-central-1)

  • Région Europe (Francfort) (eu-central-1)

  • Région Europe (Irlande) (eu-west-1)

  • Région Europe (Londres) (eu-west-2)

  • Région Europe (Paris) (eu-west-3)

  • Région Amérique du Sud (São Paulo) (sa-east-1)

Concurrency scaling candidates

Les requêtes sont acheminées vers le cluster de mise à l'échelle de la simultanéité uniquement lorsque le cluster principal répond aux exigences suivantes :

  • EC2-VPC platform.

  • Node type must be dc2.8xlarge, ds2.8xlarge, dc2.large, ds2.xlarge, ra3.4xlarge, or ra3.16xlarge.

  • Maximum of 32 compute nodes for clusters with 8xlarge or 16xlarge node types. In addition, the number of nodes of the main cluster can't be larger than 32 nodes when the cluster was originally created. For example, even if a cluster currently has 20 nodes, but was originally created with 40, it does not meet the requirements for concurrency scaling. Conversely, if a cluster currently has 40 nodes, but was originally created with 20, it does meet the requirements for concurrency scaling.

  • Not a single-node cluster.

Une requête doit remplir tous les critères suivants pour être candidate à la mise à l'échelle de la simultanéité :

  • The query must be a read-only query.

  • The query doesn't reference tables that use an interleaved sort key.

  • The query doesn't reference user-defined temporary tables.

Configuring concurrency scaling queues

Vous acheminez les requêtes vers les clusters de mise à l'échelle de la simultanéité en activant une file d'attente de gestionnaire de la charge de travail (WLM) en tant que file d'attente de mise à l'échelle de la simultanéité. Pour activer la mise à l'échelle de la simultanéité sur une file d'attente, définissez la valeur de Concurrency Scaling mode sur auto.

Lorsque le nombre de requêtes acheminées vers une file d'attente de mise à l'échelle de la simultanéité dépasse la simultanéité configurée pour la file d'attente, les requêtes éligibles sont envoyées au cluster de mise à l'échelle de la simultanéité. Lorsque des emplacements deviennent disponibles, les requêtes sont exécutées sur le cluster principal. Le nombre de files d'attente est limité uniquement par le nombre de files d'attente autorisé par le cluster. Comme avec n'importe quelle file d'attente WLM, vous acheminez les requêtes vers une file d'attente de mise à l'échelle de la simultanéité en fonction des groupes d'utilisateurs ou en étiquetant les requêtes avec des étiquettes de groupe de requêtes. Vous pouvez également acheminer les requêtes en définissant des WLM query monitoring rules. Par exemple, vous pouvez acheminer toutes les requêtes qui nécessitent plus de 5 secondes vers une file d'attente de mise à l'échelle de la simultanéité.

Par défaut, il y a un cluster pour la mise à l'échelle de la simultanéité. Le nombre de clusters de mise à l'échelle de la simultanéité qui peuvent être utilisés est contrôlé par max_concurrency_scaling_clusters.

Monitoring concurrency scaling

Pour voir si une requête s'exécute sur le cluster principal ou sur un cluster de mise à l'échelle de la simultanéité, affichez la console Amazon Redshift, naviguez vers Cluster et choisissez un cluster. Ensuite, choisissez l'onglet Queries (Requêtes) et consultez les valeurs affichées dans la colonne Executed on (Exécutée sur) pour déterminer le cluster sur lequel la requête s'exécute.

Pour rechercher les temps d'exécution, interrogez la table STL_QUERY et filtrez sur la colonne concurrency_scaling_status. La requête suivante compare le temps d'attente et le temps d'exécution pour les requêtes exécutées sur le cluster de mise à l'échelle de la simultanéité et les requêtes exécutées sur le cluster principal.

SELECT w.service_class AS queue , q.concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND q.starttime > '2019-01-04 16:38:00' AND q.endtime < '2019-01-04 17:40:00' GROUP BY 1,2 ORDER BY 1,2;

Concurrency scaling system views

Un ensemble de vues système avec le préfixe SVCS fournit des détails à partir des tables du journal système concernant les requêtes sur le cluster principal et le cluster de mise à l'échelle de la simultanéité.

Les vues suivantes ont des informations similaires comme vues STL correspondantes ou vues SVL :

Les vues suivantes sont spécifiques à la mise à l'échelle de la simultanéité :

Pour de plus amples informations sur la mise à l'échelle de la simultanéité, veuillez consulter les rubriques suivantes dans le Amazon Redshift Cluster Management Guide.