Stai visualizzando la documentazione di Apigee Edge.
  Vai alla sezione
     Documentazione di Apigee X. Informazioni
Questo documento spiega come configurare il timeout di I/O sui router Apigee Edge.
Il timeout I/O sul router rappresenta il tempo durante il quale il router attende per ricevere un risposta dal processore di messaggi, dopo aver stabilito la connessione e inviato la richiesta al processore di messaggi. Il valore predefinito del timeout di I/O sul router è 57 secondi.
Il timeout I/O per i router può essere aumentato o diminuito rispetto al valore predefinito di 57 secondi in base alle tue esigenze. Può essere configurato nei seguenti modi:
- In un host virtuale
- Sul router
Le seguenti proprietà controllano il timeout di I/O sui router:
| Nome proprietà | Località | Descrizione | 
|---|---|---|
| proxy_read_timeout | Host virtuale | Specifica il tempo massimo di attesa del router per ricevere una risposta dal Processore di messaggi, dopo aver stabilito la connessione e inviato la richiesta al Processore di messaggi. Se il processore di messaggi non risponde entro questo periodo di timeout, la Timeout del router. Per impostazione predefinita, questa proprietà utilizza il valore impostato per
            proprietà  Se questa proprietà viene modificata con un nuovo valore di timeout per un host virtuale specifico, sono interessati solo i proxy API che utilizzano quello specifico host virtuale. | 
| conf_load_balancing_load.balancing.driver.proxy.read.timeout | Router | Specifica il tempo massimo di attesa del router per ricevere una risposta dal Processore di messaggi, dopo aver stabilito la connessione e inviato la richiesta al Processore di messaggi. Se il processore di messaggi non risponde entro questo periodo di timeout, la Timeout del router. Questa proprietà viene utilizzata per tutti gli host virtuali su questo router. Il valore predefinito di questa proprietà è 57 secondi. Puoi modificare questa proprietà come spiegato in
            Configura il timeout I/O sui router di seguito oppure puoi sovrascrivere
            questo valore impostando la proprietà  Puoi impostare l'intervallo di tempo per questa proprietà su un valore diverso dai secondi utilizzando il parametro seguente: 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 | Specifica il tempo totale di attesa del router per ricevere una risposta da tutti i messaggi Processori, dopo aver stabilito la connessione e inviato la richiesta a ciascun messaggio Processore. Questo è applicabile quando l'installazione Edge ha più processori di messaggi e la funzione di ripetizione sia abilitata quando si verificano errori. Ha il valore di uno dei seguenti: 
 Come per  | 
Prima di iniziare
Prima di seguire la procedura descritta in questo documento, assicurati di aver compreso i seguenti argomenti:
- Se non hai familiarità con le proprietà degli host virtuali, consulta Riferimento proprietà host virtuale.
- Se non hai familiarità con la configurazione delle proprietà per Edge su Private Cloud, leggi Come configurare Edge.
- Assicurati di seguire le Best practice per la configurazione dei consigli sul timeout di I/O.
Configurazione del timeout di I/O nell'host virtuale
Questa sezione spiega come configurare il timeout I/O nell'host virtuale associato a un
    organizzazione e ambiente. Il timeout di I/O può essere configurato nell'host virtuale tramite
    proxy_read_timeout, che rappresenta il valore di timeout di I/O in secondi.
  
Puoi configurare l'host virtuale utilizzando uno dei seguenti metodi:
- UI Edge
- API Edge
UI Edge
Per configurare l'host virtuale utilizzando la UI Edge, segui questi passaggi:
- Accedi alla UI di Edge.
- Vai ad Amministrazione > Host virtuali.
- Seleziona un Ambiente specifico in cui vuoi apportare questa modifica.
- Seleziona l'host virtuale specifico per il quale vuoi configurare il nuovo Valore di timeout I/O.
- In Proprietà, aggiorna il valore Timeout lettura proxy in secondi.
        Ad esempio, se vuoi impostare il timeout su 120 secondi, digita 120 come mostrato nella figura che segue:   
- Salva la modifica.
API Edge
Per configurare l'host virtuale utilizzando l'API Edge, segui questi passaggi:
- Ottieni la configurazione attuale dell'host virtuale utilizzando
        
          Scarica l'API virtual host come mostrato di seguito:
            Utente cloud pubblico curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Utente Private Cloud curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Dove: {organization-name} è il nome dell'organizzazione {environment-name} è il nome dell'ambiente {virtualhost-name} è il nome dell'host virtuale Esempio di configurazione di virtualhost { "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 }
- Aggiungi la proprietà proxy_read_timeoutalla configurazione dell'host virtuale esistente Payload JSON inpropertiescon il valore in secondi.Ad esempio, per impostare il timeout I/O su 120 secondi, aggiungi propertiesdi codice come mostrato di seguito:Esempio di configurazione dell'host virtuale aggiornata { "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 }
- Salva la configurazione dell'host virtuale aggiornata in un file. Ad esempio:
        virtualhost-payload.json.
- Aggiorna la configurazione virtualhostcon la modifica utilizzando il metodo Aggiorna un'API host virtuale come segue:Utente cloud pubblico 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> Utente 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> Dove: {organization-name} è il nome dell'organizzazione {environment-name} è il nome dell'ambiente {virtualhost-name} è il nome dell'host virtuale 
Verifica del timeout di I/O sugli host virtuali
Questa sezione spiega come verificare che il timeout di I/O sia stato modificato correttamente un host virtuale con l'API Edge.
- Esegui la
        
          Recupera l'API virtual host per ottenere la configurazione virtualhostcome mostrato di seguito:Utente cloud pubblico curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Utente Private Cloud curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Dove: {organization-name} è il nome dell'organizzazione {environment-name} è il nome dell'ambiente {virtualhost-name} è il nome dell'host virtuale 
- Verifica che la proprietà proxy_read_timeoutsia stata impostata sul nuovo valore.Esempio di configurazione dell'host virtuale aggiornata { "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 }Nell'esempio precedente, nota che proxy_read_timeoutè stato impostato con il nuovo valore di 120 secondi.
- Se visualizzi ancora il valore precedente di proxy_read_timeout,, verifica di Aver seguito correttamente tutti i passaggi descritti in Configurare il timeout I/O nell'host virtuale. Se hai saltato qualche passaggio, ripeti tutti i passaggi correttamente.
- Se non riesci ancora a modificare il timeout di I/O, contatta l'assistenza Apigee Edge.
Configurazione del timeout di I/O sui router
Questa sezione spiega come configurare il timeout I/O sui router. Il timeout di I/O può essere
    configurato tramite la proprietà Router
    conf_load_balancing_load.balancing.driver.proxy.read.timeout, che rappresenta
    il valore di timeout I/O in secondi.
  
Per configurare il timeout I/O sui router, segui questi passaggi:
- Sul computer router, apri il file seguente in un editor. Se non esiste già, crealo.
/opt/apigee/customer/application/router.properties Ad esempio, per aprire il file con vi, inserisci questo comando:vi /opt/apigee/customer/application/router.properties 
- Aggiungi al file propertiesuna riga nel seguente formato, sostituendo un valore ditime_in_seconds:
- Salva le modifiche.
- Verifica che questo file delle proprietà appartenga all'utente apigee, come illustrato di seguito:chown apigee:apigee /opt/apigee/customer/application/router.properties 
- Riavvia il router come mostrato di seguito:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart 
- Se possiedi più di un router, ripeti i passaggi precedenti su tutti i router.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Ad esempio, per impostare il timeout I/O sul router su 120 secondi, aggiungi la riga seguente:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
Puoi anche modificare il timeout I/O in minuti. Ad esempio, per modificare il timeout in minuti, aggiungi la riga seguente:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Verifica del timeout di I/O sui router
Questa sezione spiega come verificare che il timeout di I/O sia stato modificato correttamente Router.
Anche se utilizzi il token
    conf_load_balancing_load.balancing.driver.proxy.read.timeout per impostare il timeout I/O
    sul router, devi verificare se la proprietà effettiva proxy_read_timeout ha
    sia stato impostato
con il nuovo valore.
  
- Cerca la proprietà proxy_read_timeoutnel/opt/nginx/conf.de controlla se è stata impostata con nuovo valore come segue:grep -ri "proxy_read_timeout" /opt/nginx/conf.d 
- Se il nuovo valore di timeout I/O viene impostato correttamente sul router, il comando precedente
        mostra il nuovo valore in tutti i file di configurazione dell'host virtuale.
        Di seguito è riportato un esempio di risultato del comando grepriportato sopra quando Il timeout I/O è di 120 secondi:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s; Nell'output di esempio sopra riportato, puoi notare che la proprietà proxy_read_timeoutè stato impostato con il nuovo valore 120 in0-default.conf, che è di configurazione predefinito per l'host virtuale predefinito. Ciò indica che il timeout di I/O è configurata correttamente su 120 secondi sul router.
- Se visualizzi ancora il valore precedente per la proprietà proxy_read_timeout, verificare di aver seguito tutti i passaggi descritti in Configurazione corretta del timeout di I/O sui router. Se disponi hai saltato un passaggio, ripeti tutti i passaggi correttamente.
- Se non riesci ancora a modificare il timeout di I/O, contatta l'assistenza Apigee Edge.
Passaggi successivi
Scopri di più su come configurare il timeout di I/O nel processore di messaggi