Configurer le délai d'expiration des E/S sur les routeurs

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

Ce document explique comment configurer le délai d'expiration des E/S sur les routeurs Apigee Edge.

Le délai avant expiration des E/S sur le routeur représente la durée pendant laquelle le routeur attend de recevoir une du processeur de messages, après avoir établi la connexion et envoyé la demande au processeur de messages. La valeur par défaut du délai avant expiration des E/S sur le routeur est de 57 secondes.

Le délai avant expiration des E/S pour les routeurs peut être augmenté ou réduit par rapport à la valeur par défaut de 57 secondes en fonction de vos besoins. Vous pouvez le configurer de différentes manières:

  • Sur un hôte virtuel
  • Sur le routeur

Les propriétés suivantes contrôlent le délai avant expiration des E/S sur les routeurs:

Nom de la propriété Lieu Description
proxy_read_timeout Hôte virtuel

Spécifie la durée maximale pendant laquelle le routeur attend de recevoir une réponse du le processeur de messages, une fois la connexion établie et envoyé la demande au Processeur de messages.

En l'absence de réponse du processeur de messages dans ce délai, la Le délai d'attente du routeur est dépassé.

Par défaut, cette propriété prend la valeur définie pour l'attribut conf_load_balancing_load.balancing.driver.proxy.read.timeout sur le routeur. La la valeur par défaut est 57 secondes.

Si cette propriété est modifiée avec une nouvelle valeur de délai avant expiration pour un hôte virtuel spécifique, alors seuls les mandataires d'API utilisant cet hôte virtuel spécifique sont affectés.

conf_load_balancing_load.balancing.driver.proxy.read.timeout Routeur

Spécifie la durée maximale pendant laquelle le routeur attend de recevoir une réponse du le processeur de messages, une fois la connexion établie et envoyé la demande au Processeur de messages.

En l'absence de réponse du processeur de messages dans ce délai, la Le délai d'attente du routeur est dépassé.

Cette propriété est utilisée pour tous les hôtes virtuels de ce routeur.

La valeur par défaut de cette propriété est 57 secondes.

Vous pouvez modifier cette propriété comme expliqué dans Configurer le délai d'expiration des E/S sur les routeurs ci-dessous, ou vous pouvez écraser cette valeur en définissant la propriété proxy_read_timeout au niveau de l'hôte virtuel.

Vous pouvez définir l'intervalle de temps pour cette propriété sur une valeur autre que secondes à l'aide de la propriété la notation suivante:

ms: milliseconds
s:  seconds (default)
m:  minutes
h:  hours
d:  days
w:  weeks
M:  months (length of 30 days)
y:  years (length of 365 days)
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout Routeur

Spécifie le temps total d'attente du routeur avant de recevoir une réponse de tous les messages Sous-traitants, après avoir établi la connexion et envoyé la requête à chaque Message Processeur.

Ceci s'applique lorsque votre installation Edge dispose de plusieurs processeurs de messages et La nouvelle tentative est activée en cas d'erreurs. Sa valeur est l'une des suivantes:

  • Valeur actuelle de conf_load_balancing_load.balancing.driver.proxy.read.timeout
  • La valeur par défaut de 57 secondes

Comme pour conf_load_balancing_load.balancing.driver.proxy.read.timeout vous pouvez spécifier des intervalles de temps autres que ceux par défaut (secondes).

Avant de commencer

Avant de suivre les étapes décrites dans ce document, assurez-vous de bien comprendre les points suivants:

<ph type="x-smartling-placeholder">

Configurer le délai avant expiration des E/S dans l'hôte virtuel

Cette section explique comment configurer le délai d'expiration des E/S dans l'hôte virtuel associé à un votre organisation et votre environnement. Le délai avant expiration des E/S peut être configuré dans l'hôte virtuel via la Propriété proxy_read_timeout, qui représente la valeur du délai d'attente d'E/S en secondes.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Vous pouvez configurer l'hôte virtuel en utilisant l'une des méthodes suivantes:

  • Interface utilisateur périphérique
  • API Edge

Interface utilisateur périphérique

<ph type="x-smartling-placeholder">

Pour configurer l'hôte virtuel à l'aide de l'interface utilisateur Edge, procédez comme suit:

  1. Connectez-vous à l'interface utilisateur Edge.
  2. Accédez à Admin > Hôtes virtuels
  3. Sélectionnez l'environnement spécifique dans lequel vous souhaitez effectuer cette modification.
  4. Sélectionnez l'hôte virtuel spécifique pour lequel vous souhaitez configurer le nouveau Valeur du délai d'expiration des E/S.
  5. Sous Properties (Propriétés), mettez à jour la valeur Proxy Read Timeout (Délai de lecture du proxy) en secondes.

    Par exemple, si vous souhaitez définir le délai avant expiration sur 120 secondes, saisissez 120, comme indiqué dans les comme illustré ci-dessous:

    Valeur du délai avant expiration en lecture du proxy : 120

  6. Enregistrez la modification.

API Edge

Pour configurer l'hôte virtuel à l'aide de l'API Edge, procédez comme suit:

  1. Obtenez la configuration actuelle de l'hôte virtuel à l'aide de la méthode <ph type="x-smartling-placeholder"></ph> Obtenez l'API hôte virtuel comme indiqué ci-dessous:

    Utilisateur du cloud public

    curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Utilisateur Private Cloud

    curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Où :

    {organization-name} est le nom de l'organisation.

    {environment-name} est le nom de l'environnement.

    {virtualhost-name} est le nom de l'hôte virtuel.

    Exemple de configuration d'hôte virtuel

        {
          "hostAliases": [
            "api.myCompany,com"
          ],
          "interfaces": [],
          "listenOptions": [],
          "name": "secure",
          "port": "443",
          "retryOptions": [],
          "sSLInfo": {
            "ciphers": [],
            "clientAuthEnabled": "false",
            "enabled": "true",
            "ignoreValidationErrors": false,
            "keyAlias": "myCompanyKeyAlias",
            "keyStore": "ref://myCompanyKeystoreref",
            "protocols": []
          },
          "useBuiltInFreeTrialCert": false
        }
    
  2. Ajouter la propriété proxy_read_timeout à la configuration d'hôte virtuel existante Charge utile JSON sous properties avec la valeur en secondes.

    Par exemple, pour définir le délai d'expiration des E/S sur 120 secondes, ajoutez properties. comme indiqué ci-dessous:

    Exemple de configuration d'hôte virtuel mise à jour

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. Enregistrez la configuration d'hôte virtuel mise à jour dans un fichier. Par exemple : virtualhost-payload.json
  4. Mettez à jour la configuration virtualhost avec la modification à l'aide de la méthode <ph type="x-smartling-placeholder"></ph> Mettez à jour une API hôte virtuel comme suit:

    Utilisateur du cloud public

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    Utilisateur Private Cloud

    curl -v -X POST Content-Type: application/json
    http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    Où :

    {organization-name} est le nom de l'organisation.

    {environment-name} est le nom de l'environnement.

    {virtualhost-name} est le nom de l'hôte virtuel.

Vérifier le délai d'expiration des E/S sur les hôtes virtuels

Cette section explique comment vérifier que le délai d'expiration des E/S a bien été modifié sur la à l'aide de l'API Edge.

  1. Exécutez la <ph type="x-smartling-placeholder"></ph> Obtenez l'API d'hôte virtuel pour obtenir la configuration virtualhost, comme indiqué ci-dessous:

    Utilisateur du cloud public

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Utilisateur Private Cloud

    curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Où :

    {organization-name} est le nom de l'organisation.

    {environment-name} est le nom de l'environnement.

    {virtualhost-name} est le nom de l'hôte virtuel.

  2. Vérifiez que la propriété proxy_read_timeout a été définie sur la nouvelle valeur.

    Exemple de configuration d'hôte virtuel mise à jour

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    Dans l'exemple ci-dessus, notez que proxy_read_timeout a été défini avec la nouvelle valeur de 120 secondes.

  3. Si l'ancienne valeur s'affiche toujours pour proxy_read_timeout,, vérifiez que vous avez suivi correctement toutes les étapes décrites dans la section Configurer le délai d'expiration des E/S dans l'hôte virtuel. Si vous avez manqué une étape, répétez toutes les étapes correctement.
  4. Si vous ne parvenez toujours pas à modifier le délai avant expiration des E/S, contactez l'assistance Apigee Edge.

Configurer le délai d'expiration des E/S sur les routeurs

Cette section explique comment configurer le délai d'expiration des E/S sur les routeurs. Le délai avant expiration des E/S peut être configuré via la propriété Routeur conf_load_balancing_load.balancing.driver.proxy.read.timeout, qui représente la valeur du délai avant expiration des E/S, en secondes.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Pour configurer le délai d'expiration des E/S sur les routeurs, procédez comme suit:

  1. Sur la machine du routeur, ouvrez le fichier suivant dans un éditeur. S'il n'existe pas encore, créez-le.
    /opt/apigee/customer/application/router.properties
    

    Par exemple, pour ouvrir le fichier avec vi, saisissez la commande suivante:

    vi /opt/apigee/customer/application/router.properties
    
  2. Ajoutez une ligne au format suivant au fichier properties, en remplaçant une pour time_in_seconds:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    Par exemple, pour faire passer le délai d'E/S du routeur à 120 secondes, ajoutez la ligne suivante:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    

    Vous pouvez également modifier le délai avant expiration des E/S en quelques minutes. Par exemple, pour remplacer le délai avant expiration par deux minutes, ajoutez la ligne suivante:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
    
    <ph type="x-smartling-placeholder">
  4. Enregistrez les modifications.
  5. Assurez-vous que ce fichier de propriétés appartient à l'utilisateur apigee, comme indiqué ci-dessous:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  6. Redémarrez le routeur comme indiqué ci-dessous:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. Si vous avez plusieurs routeurs, répétez les étapes ci-dessus sur chacun d'eux.

Vérifier le délai des E/S sur les routeurs

Cette section explique comment vérifier que le délai d'expiration des E/S a bien été modifié sur la les routeurs Cloud Router.

Même si vous utilisez le jeton conf_load_balancing_load.balancing.driver.proxy.read.timeout pour définir le délai avant expiration des E/S sur le routeur, vérifiez si la propriété réelle proxy_read_timeout a défini avec la nouvelle valeur.

  1. Recherchez la propriété proxy_read_timeout dans /opt/nginx/conf.d et vérifiez s'il a été défini avec le nouvelle valeur comme suit:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. Si la nouvelle valeur du délai d'expiration des E/S est correctement définie sur le routeur, la commande ci-dessus affiche la nouvelle valeur dans tous les fichiers de configuration de l'hôte virtuel.

    Voici l'exemple de résultat de la commande grep ci-dessus lorsque la Le délai avant expiration des E/S est de 120 secondes:

    /opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120;
    /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
    

    Dans l'exemple de résultat ci-dessus, notez que la propriété proxy_read_timeout a été définie avec la nouvelle valeur 120 dans 0-default.conf, qui correspond au de configuration Terraform pour l'hôte virtuel par défaut. Cela indique que le délai avant expiration des E/S est correctement configuré sur 120 secondes sur le routeur.

    <ph type="x-smartling-placeholder">
  3. Si l'ancienne valeur de la propriété proxy_read_timeout s'affiche toujours, alors vérifiez que vous avez suivi toutes les étapes décrites dans Configurez correctement le délai d'expiration des E/S sur les routeurs. Si vous avez avez manqué une étape, répétez toutes les étapes correctement.
  4. Si vous ne parvenez toujours pas à modifier le délai avant expiration des E/S, contactez l'assistance Apigee Edge.

Et ensuite ?

Découvrez comment configurer le délai d'expiration des E/S dans le processeur de messages.