Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
En este documento, se explica cómo configurar el tiempo de espera de E/S en los routers de Apigee Edge.
El tiempo de espera de E/S en el router representa el tiempo que este espera recibir una respuesta del Message Processor, después de establecer la conexión y enviar la solicitud a Message Processor. El valor predeterminado del tiempo de espera de E/S en el router es 57 segundos.
El tiempo de espera de E/S para los routers se puede aumentar o disminuir desde el valor predeterminado de 57 segundos según tus necesidades. Se puede configurar de las siguientes maneras:
- En un host virtual
- En el router
Las siguientes propiedades controlan el tiempo de espera de E/S en los routers:
Nombre de propiedad | Location | Descripción |
---|---|---|
proxy_read_timeout
|
Host virtual |
Especifica el tiempo máximo durante el cual el router espera recibir una respuesta de Message Processor, después de establecer la conexión y enviar la solicitud a Message Processor. Si no hay respuesta de Message Processor dentro de este tiempo de espera, se agotará el tiempo de espera del router. De forma predeterminada, esta propiedad toma el valor establecido para la propiedad Si esta propiedad se modifica con un nuevo valor de tiempo de espera para un host virtual específico, solo se verán afectados los proxies de la API que usan ese host virtual específico. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Especifica el tiempo máximo durante el cual el router espera recibir una respuesta de Message Processor, después de establecer la conexión y enviar la solicitud a Message Processor. Si no hay respuesta de Message Processor dentro de este tiempo de espera, se agotará el tiempo de espera del router. Esta propiedad se usa para todos los hosts virtuales en este router. El valor predeterminado de esta propiedad es 57 segundos. Puedes modificar esta propiedad como se explica en Configura el tiempo de espera de E/S en routers a continuación o puedes reemplazar este valor si configuras la propiedad Puedes establecer el intervalo de tiempo para esta propiedad en un valor distinto de segundos mediante la siguiente notación: 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
|
Router |
Especifica el tiempo total que el router espera para recibir una respuesta de todos los procesadores de mensajes después de establecer la conexión y enviar la solicitud a cada procesador de mensajes. Esto se aplica cuando tu instalación de Edge tiene varios procesadores de mensajes y la opción de reintento está habilitada cuando se producen errores. Tiene el valor de uno de los siguientes:
Al igual que con la propiedad |
Antes de comenzar
Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:
- Si no estás familiarizado con las propiedades de host virtual, consulta la Referencia de propiedades de host virtual.
- Si no estás familiarizado con la configuración de propiedades de Edge en la nube privada, consulta Cómo configurar Edge.
- Asegúrate de seguir las prácticas recomendadas para configurar el tiempo de espera de E/S.
Configura el tiempo de espera de E/S en el host virtual
En esta sección, se explica cómo configurar el tiempo de espera de E/S en el host virtual asociado con una organización y un entorno. El tiempo de espera de E/S se puede configurar en el host virtual mediante la propiedad proxy_read_timeout
, que representa el valor del tiempo de espera de E/S en segundos.
Puedes configurar el host virtual mediante uno de los siguientes métodos:
- IU de Edge
- API de Edge
IU de Edge
Para configurar el host virtual mediante la IU de Edge, sigue estos pasos:
- Accede a la IU de Edge.
- Navega a Administrador > Hosts virtuales.
- Selecciona un Entorno específico en el que quieras realizar este cambio.
- Selecciona el host virtual específico para el que deseas configurar el nuevo valor de tiempo de espera de E/S.
- En Properties, actualiza el valor Proxy Read Timeout en segundos.
Por ejemplo, si quieres cambiar el tiempo de espera a 120 segundos, escribe 120 como se muestra en la siguiente figura:
- Guarda el cambio.
API de Edge
Para configurar el host virtual mediante la API de Edge, sigue estos pasos:
- Obtén la configuración actual del host virtual con la API de
Obtener host virtual, como se muestra a continuación:
Usuario de la nube pública
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Usuario de la nube privada
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Donde:
{organization-name} es el nombre de la organización
{environment-name} es el nombre del entorno.
{virtualhost-name} es el nombre del host virtual.
Ejemplo de configuración de host virtual
{ "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 }
- Agrega la propiedad
proxy_read_timeout
a la carga útil JSON de la configuración de host virtual existente enproperties
con el valor en segundos.Por ejemplo, para cambiar el tiempo de espera de E/S a 120 segundos, agrega el bloque de código
properties
como se muestra a continuación:Ejemplo de configuración de host virtual actualizada
{ "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 }
- Guarda la configuración actualizada del host virtual en un archivo. Por ejemplo,
virtualhost-payload.json
. - Actualiza la configuración de
virtualhost
con el cambio mediante la API de Actualiza un host virtual de la siguiente manera:Usuario de la nube pública
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>
Usuario de la nube privada
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>
Donde:
{organization-name} es el nombre de la organización
{environment-name} es el nombre del entorno.
{virtualhost-name} es el nombre del host virtual.
Verifica el tiempo de espera de E/S en hosts virtuales
En esta sección, se explica cómo verificar que el tiempo de espera de E/S se haya modificado de forma correcta en el host virtual mediante la API de Edge.
- Ejecuta la API de
Obtener host virtual para obtener la configuración
virtualhost
como se muestra a continuación:Usuario de la nube pública
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Usuario de la nube privada
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Donde:
{organization-name} es el nombre de la organización
{environment-name} es el nombre del entorno.
{virtualhost-name} es el nombre del host virtual.
- Verifica que se haya configurado la propiedad
proxy_read_timeout
con el valor nuevo.Ejemplo de configuración de host virtual actualizada
{ "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 }
En el ejemplo anterior, ten en cuenta que
proxy_read_timeout
se estableció con el valor nuevo de 120 segundos. - Si aún ves el valor anterior de
proxy_read_timeout,
, verifica si seguiste todos los pasos descritos en Configura el tiempo de espera de E/S en el host virtual de forma correcta. Si omitiste algún paso, repite todos los pasos correctamente. - Si aún no puedes modificar el tiempo de espera de E/S, comunícate con el equipo de asistencia de Apigee Edge.
Configura el tiempo de espera de E/S en los routers
En esta sección, se explica cómo configurar el tiempo de espera de E/S en los routers. El tiempo de espera de E/S se puede configurar a través de la propiedad conf_load_balancing_load.balancing.driver.proxy.read.timeout
del router, que representa el valor del tiempo de espera de E/S en segundos.
Para configurar el tiempo de espera de E/S en los routers, haz lo siguiente:
- En la máquina Router, abre el siguiente archivo en un editor. Si aún no existe, créalo.
/opt/apigee/customer/application/router.properties
Por ejemplo, para abrir el archivo con
vi
, ingresa el siguiente comando:vi /opt/apigee/customer/application/router.properties
- Agrega una línea con el siguiente formato al archivo
properties
y reemplaza un valor portime_in_seconds
: - Guarda los cambios.
- Asegúrate de que este archivo de propiedades sea propiedad del usuario
apigee
, como se muestra a continuación:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Reinicia el router como se muestra a continuación:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Si tienes más de un router, repite los pasos anteriores en todos ellos.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Por ejemplo, para cambiar el tiempo de espera de E/S en el router a 120 segundos, agrega la siguiente línea:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
También puedes modificar el tiempo de espera de E/S en minutos. Por ejemplo, para modificar el tiempo de espera a dos minutos, agrega la siguiente línea:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Verifica el tiempo de espera de E/S en los routers
En esta sección, se explica cómo verificar que el tiempo de espera de E/S se haya modificado de forma correcta en los routers.
Aunque uses el token conf_load_balancing_load.balancing.driver.proxy.read.timeout
para configurar el tiempo de espera de E/S en el router, debes verificar si la propiedad real proxy_read_timeout
se configuró con el valor nuevo.
- Busca la propiedad
proxy_read_timeout
en el directorio/opt/nginx/conf.d
y verifica si se configuró con el valor nuevo de la siguiente manera:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Si el nuevo valor de tiempo de espera de E/S se establece correctamente en el router, el comando anterior muestra el nuevo valor en todos los archivos de configuración del host virtual.
El siguiente es el resultado de muestra del comando
grep
anterior cuando el tiempo de espera de E/S es de 120 segundos:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
En el resultado de ejemplo anterior, observa que la propiedad
proxy_read_timeout
se estableció con el valor nuevo 120 en0-default.conf
, que es el archivo de configuración para el host virtual predeterminado. Esto indica que el tiempo de espera de E/S se configuró correctamente en 120 segundos en el router. - Si aún ves el valor anterior de la propiedad
proxy_read_timeout
, verifica si seguiste todos los pasos descritos en Configura el tiempo de espera de E/S en routers de forma correcta. Si omitiste algún paso, repite todos los pasos de nuevo de forma correcta. - Si aún no puedes modificar el tiempo de espera de E/S, comunícate con el equipo de asistencia de Apigee Edge.
Pasos siguientes
Obtén más información para configurar el tiempo de espera de E/S en Message Processor.