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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

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

Le délai d'inactivité des E/S sur le routeur représente le temps pendant lequel le routeur attend de recevoir une réponse du processeur de messages, après avoir établi la connexion et envoyé la requête au processeur de messages. La valeur par défaut du délai d'inactivité des E/S sur le routeur est de 57 secondes.

Le délai d'inactivité des E/S pour les routeurs peut être augmenté ou diminué par rapport à la valeur par défaut de 57 secondes en fonction de vos besoins. Il peut être configuré de différentes manières :

  • Dans un hôte virtuel
  • Sur le routeur

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

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

Spécifie le délai maximal pendant lequel le routeur attend de recevoir une réponse du processeur de messages, après avoir établi la connexion et envoyé la requête au processeur de messages.

Si le processeur de messages ne répond pas dans ce délai, le routeur expire.

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

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

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

Spécifie le délai maximal pendant lequel le routeur attend de recevoir une réponse du processeur de messages, après avoir établi la connexion et envoyé la requête au processeur de messages.

Si le processeur de messages ne répond pas dans ce délai, le routeur expire.

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 de 57 secondes.

Vous pouvez modifier cette propriété comme expliqué dans Configurer le délai d'inactivité des E/S sur les routeurs ci-dessous, ou vous pouvez remplacer 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 des secondes à l'aide de 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 délai total pendant lequel le routeur attend de recevoir une réponse de tous les processeurs de messages, après avoir établi la connexion et envoyé la requête à chaque processeur de messages.

Cela s'applique lorsque votre installation Edge comporte plusieurs processeurs de messages et que les nouvelles tentatives sont activées en cas d'erreur. Elle a l'une des valeurs suivantes :

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

Comme pour la propriété conf_load_balancing_load.balancing.driver.proxy.read.timeout, vous pouvez spécifier des intervalles de temps autres que la valeur par défaut (en secondes).

Avant de commencer

Avant de suivre les étapes de ce document, assurez-vous de bien comprendre les sujets suivants :

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

Cette section explique comment configurer le délai d'inactivité des E/S dans l'hôte virtuel associé à une organisation et à un environnement. Le délai d'inactivité 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'inactivité des E/S en secondes.

Vous pouvez configurer l'hôte virtuel à l'aide de l'une des méthodes suivantes :

  • Interface utilisateur Edge
  • API Edge

Interface utilisateur Edge

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 un environnement spécifique dans lequel vous souhaitez effectuer cette modification.
  4. Sélectionnez l'hôte virtuel spécifique pour lequel vous souhaitez configurer la nouvelle valeur de délai d'inactivité des E/S.
  5. Sous Propriétés, mettez à jour la valeur Délai d'inactivité de lecture du proxy en secondes.

    Par exemple, si vous souhaitez modifier le délai d'inactivité à 120 secondes, saisissez 120 comme illustré dans la figure suivante :

    Valeur du délai de lecture du proxy de 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 l' API Obtenir l'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 du cloud privé

    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. Ajoutez la propriété proxy_read_timeout à la charge utile JSON de configuration de l'hôte virtuel existant sous properties avec la valeur en secondes.

    Par exemple, pour modifier le délai d'inactivité des E/S à 120 secondes, ajoutez le properties bloc de code 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 l'API Mettre à jour un 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 du cloud privé

    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'inactivité des E/S sur les hôtes virtuels

Cette section explique comment vérifier que le délai d'inactivité des E/S a été modifié sur le hôte virtuel à l'aide de l'API Edge.

  1. Exécutez l' API Obtenir l'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 du cloud privé

    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 le proxy_read_timeout a été défini sur la nouvelle valeur de 120 secondes.

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

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

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

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

  1. Sur la machine de routeur, ouvrez le fichier suivant dans un éditeur. S'il n'existe pas déjà, 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 properties fichier, en remplaçant une valeur par time_in_seconds :
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds

    Par exemple, pour modifier le délai d'inactivité des E/S sur le routeur à 120 secondes, ajoutez la ligne suivante :

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

    Vous pouvez également modifier le délai d'inactivité des E/S en minutes. Par exemple, pour modifier le délai d'inactivité à deux minutes, ajoutez la ligne suivante :

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
  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 tous les routeurs.

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

Cette section explique comment vérifier que le délai d'inactivité des E/S a été modifié sur les routeurs.

Même si vous utilisez le jeton conf_load_balancing_load.balancing.driver.proxy.read.timeout pour définir le délai d'inactivité des E/S sur le routeur, vous devez vérifier si la propriété proxy_read_timeout a été définie sur la nouvelle valeur.

  1. Recherchez la propriété proxy_read_timeout dans le /opt/nginx/conf.d répertoire et vérifiez si elle a été définie sur la nouvelle valeur comme suit :
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
  2. Si la nouvelle valeur de délai d'inactivité 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 le délai d'inactivité 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 sur la nouvelle valeur 120 dans 0-default.conf qui est le fichier de configuration de l'hôte virtuel par défaut. Cela indique que le délai d'inactivité des E/S est correctement configuré sur 120 secondes sur le routeur.

  3. Si l'ancienne valeur de la propriété proxy_read_timeout s'affiche toujours, alors vérifiez que vous avez suivi correctement toutes les étapes décrites dans Configurer le délai d'inactivité des E/S sur les routeurs. Si vous avez manqué une étape, répétez toutes les étapes correctement.
  4. Si vous ne parvenez toujours pas à modifier le délai d'inactivité des E/S, contactez l'assistance Apigee Edge.

Et ensuite ?

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