Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Ce document explique comment configurer le délai avant expiration des E/S sur les routeurs d'Apigee Edge.
Le délai avant expiration des E/S sur le routeur représente le temps que 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 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 à partir de la valeur par défaut de 57 secondes en fonction de vos besoins. Il peut être configuré comme suit:
- 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 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é utilise la valeur définie pour la propriété Si cette propriété est modifiée avec une nouvelle valeur de délai d'expiration pour un hôte virtuel spécifique, 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 sur ce routeur. La valeur par défaut de cette propriété est de 57 secondes. Vous pouvez modifier cette propriété comme expliqué dans la section Configurer le délai d'expiration des E/S sur les routeurs ci-dessous, ou remplacer cette valeur en définissant la propriété 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 temps total que le routeur attend pour 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 la nouvelle tentative est activée en cas d'erreur. Il peut prendre l'une des valeurs suivantes:
Comme pour la propriété |
Avant de commencer
Avant de suivre la procédure décrite dans ce document, assurez-vous de bien comprendre les sujets suivants:
- Si vous ne connaissez pas bien les propriétés d'hôte virtuel, consultez la documentation de référence sur les propriétés d'hôte virtuel.
- Si vous ne savez pas comment configurer des propriétés pour Edge sur Private Cloud, consultez la section Comment configurer Edge.
- Veillez à suivre les bonnes pratiques pour configurer le délai avant expiration des E/S.
Configuration du délai avant expiration des E/S sur un hôte virtuel
Cette section explique comment configurer le délai avant expiration des E/S dans l'hôte virtuel associé à une organisation et à un 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 avant expiration des E/S en secondes.
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
Pour configurer l'hôte virtuel à l'aide de l'interface utilisateur Edge, procédez comme suit:
- Connectez-vous à l'interface utilisateur Edge.
- Accédez à Admin > Virtual Hosts (Admin > Hôtes virtuels).
- Sélectionnez l'environnement spécifique dans lequel vous souhaitez effectuer cette modification.
- Sélectionnez l'hôte virtuel spécifique pour lequel vous souhaitez configurer la nouvelle valeur de délai avant expiration des E/S.
- Sous Propriétés, mettez à jour la valeur Délai de lecture du proxy (en secondes).
Par exemple, si vous souhaitez définir le délai avant expiration à 120 secondes, saisissez 120, comme illustré dans la figure suivante:
- Enregistrez la modification.
API Edge
Pour configurer l'hôte virtuel à l'aide de l'API Edge, procédez comme suit:
- Obtenez la configuration actuelle de l'hôte virtuel à l'aide de l'API
Get virtual host (Obtenir un 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 }
- Ajoutez la propriété
proxy_read_timeout
à la charge utile JSON de la configuration d'hôte virtuel existante sousproperties
avec la valeur en secondes.Par exemple, pour définir le délai avant expiration des E/S sur 120 secondes, ajoutez le bloc de code
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 }
- Enregistrez la configuration d'hôte virtuel mise à jour dans un fichier. Par exemple :
virtualhost-payload.json
- 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 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 avant expiration des E/S sur des hôtes virtuels
Cette section explique comment vérifier que le délai avant expiration des E/S a bien été modifié sur l'hôte virtuel à l'aide de l'API Edge.
- Exécutez l'API
Get virtual host (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 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.
- 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. - Si l'ancienne valeur de
proxy_read_timeout,
s'affiche toujours, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Configurer le délai avant expiration des E/S sur un hôte virtuel. Si vous avez manqué une étape, répétez-la correctement. - Si vous ne parvenez toujours pas à modifier le délai avant expiration des E/S, contactez l'assistance Apigee Edge.
Configurer le délai avant 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é de 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.
Pour configurer le délai avant expiration des E/S sur les routeurs, procédez comme suit:
- Sur l'ordinateur 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
- Ajoutez une ligne au format suivant au fichier
properties
, en remplaçanttime_in_seconds
par une valeur: - Enregistrez les modifications.
- 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
- Redémarrez le routeur comme indiqué ci-dessous :
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Si vous avez plusieurs routeurs, répétez les étapes ci-dessus sur chacun d'eux.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Par exemple, pour définir le délai avant expiration des E/S sur le routeur sur 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 minutes. Par exemple, pour définir le délai avant expiration sur deux minutes, ajoutez la ligne suivante:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Vérifier le délai avant expiration des E/S sur les routeurs
Cette section explique comment vérifier que le délai avant expiration des E/S a bien é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 avant expiration des E/S sur le routeur, vous devez vérifier si la propriété proxy_read_timeout
a été définie avec la nouvelle valeur.
- Recherchez la propriété
proxy_read_timeout
dans le répertoire/opt/nginx/conf.d
et vérifiez si elle a été définie avec la nouvelle valeur, comme suit :grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Si la nouvelle valeur de délai avant 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 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 sortie ci-dessus, notez que la propriété
proxy_read_timeout
a été définie avec la nouvelle valeur 120 dans0-default.conf
, qui est le fichier de configuration de 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. - Si vous voyez toujours l'ancienne valeur pour la propriété
proxy_read_timeout
, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Configurer le délai d'expiration des E/S sur les routeurs. Si vous avez manqué une étape, répétez toutes les étapes correctement. - Si vous ne parvenez toujours pas à modifier le délai avant expiration des E/S, contactez l'assistance Apigee Edge.
Étapes suivantes
Découvrez comment configurer le délai d'expiration des E/S dans un processeur de messages.