<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
이 문서에서는 Apigee Edge 라우터에 I/O 제한 시간을 구성하는 방법을 설명합니다.
라우터의 I/O 제한 시간은 라우터가 메시지 프로세서로부터 받은 응답을 전송합니다. 라우터의 I/O 시간 제한 기본값은 57초입니다.
라우터의 I/O 제한 시간은 기본값인 57초에서 늘리거나 줄일 수 있습니다. 선택하세요. 다음과 같은 방법으로 구성할 수 있습니다.
- 가상 호스트
- 라우터에서
다음 속성은 라우터의 I/O 시간 제한을 제어합니다.
속성 이름 | 위치 | 설명 |
---|---|---|
proxy_read_timeout
|
가상 호스트 |
라우터가 연결을 설정하고 요청을 보낸 후 메시지 프로세서. 이 제한 시간 내에 메시지 프로세서로부터 응답이 없으면 라우터 시간이 초과되었습니다. 기본적으로 이 속성은
라우터의 이 속성이 특정 가상 호스트에 대한 새 제한 시간 값으로 수정되면 해당 가상 호스트를 사용하는 API 프록시만 영향을 받습니다. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
라우터 |
라우터가 연결을 설정하고 요청을 보낸 후 메시지 프로세서. 이 제한 시간 내에 메시지 프로세서로부터 응답이 없으면 라우터 시간이 초과되었습니다. 이 속성은 이 라우터의 모든 가상 호스트에 사용됩니다. 이 속성의 기본값은 57초입니다. 이 속성은 다음 페이지에 설명된 대로 수정할 수 있습니다.
아래의 라우터에서 I/O 시간 제한 구성을 사용하거나 덮어쓰면 됩니다.
가상 호스트 수준에서 다음 표기법: 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
|
라우터 |
라우터가 모든 메시지의 응답을 받을 때까지 기다리는 총 시간을 지정합니다. 연결을 설정하고 각 메시지에 요청을 보낸 후의 프로세서 프로세서. 이는 Edge 설치에 여러 메시지 프로세서가 있고 오류 발생 시 재시도가 활성화됩니다. 값은 다음 중 하나입니다.
|
시작하기 전에
이 문서의 단계를 사용하기 전에 다음 주제를 이해해야 합니다.
- 가상 호스트 속성에 관해 잘 모른다면 <ph type="x-smartling-placeholder"></ph> 가상 호스트 속성 참조
- 프라이빗 클라우드에서 Edge의 속성을 구성하는 데 익숙하지 않다면 다음을 참조하세요. 구성 방법 Edge.
- <ph type="x-smartling-placeholder"></ph> I/O 제한 시간 구성 권장사항 추천
가상 호스트에서 I/O 제한 시간 구성
이 섹션에서는
중요한 부분입니다. I/O 제한 시간은 다음을 통해 가상 호스트에서 구성할 수 있습니다.
속성 proxy_read_timeout
- I/O 제한 시간 값을 초 단위로 나타냅니다.
다음 방법 중 하나를 사용하여 가상 호스트를 구성할 수 있습니다.
- Edge UI
- Edge API
Edge UI
<ph type="x-smartling-placeholder">Edge UI를 사용하여 가상 호스트를 구성하려면 다음 안내를 따르세요.
- Edge UI에 로그인합니다.
- 관리 > 가상 호스트로 이동합니다.
- 변경하려는 특정 환경을 선택합니다.
- 새 서버를 구성할 특정 가상 호스트를 선택합니다. I/O 제한 시간 값입니다.
- 속성에서 프록시 읽기 시간 제한 값(초)을 업데이트합니다.
예를 들어 시간 제한을 120초로 변경하려면 다음 그림:
- 변경사항을 저장합니다.
Edge API
Edge API를 사용하여 가상 호스트를 구성하려면 다음 안내를 따르세요.
- 다음을 사용하여 현재 가상 호스트 구성을 가져옵니다.
<ph type="x-smartling-placeholder"></ph>
아래와 같이 가상 호스트 API를 가져옵니다.
퍼블릭 클라우드 사용자
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Private Cloud 사용자
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
각 항목의 의미는 다음과 같습니다.
{organization-name}는 조직의 이름입니다.
{environment-name}은 환경 이름입니다.
{virtualhost-name}은 가상 호스트의 이름입니다.
샘플 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 }
- 기존 가상 호스트 구성에
proxy_read_timeout
속성을 추가합니다.properties
아래의 JSON 페이로드(초 단위 값)예를 들어 I/O 제한 시간을 120초로 변경하려면
properties
를 추가합니다. 코드 블록을 찾습니다.업데이트된 가상 호스트 구성 샘플
{ "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 }
- 업데이트된 가상 호스트 구성을 파일에 저장합니다. 예를 들면
virtualhost-payload.json
입니다. - 다음을 사용하여
virtualhost
구성을 변경사항으로 업데이트합니다. <ph type="x-smartling-placeholder"></ph> 가상 호스트 API를 다음과 같이 업데이트합니다.퍼블릭 클라우드 사용자
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>
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>
각 항목의 의미는 다음과 같습니다.
{organization-name}는 조직의 이름입니다.
{environment-name}은 환경 이름입니다.
{virtualhost-name}은 가상 호스트의 이름입니다.
가상 호스트의 I/O 시간 제한 확인
이 섹션에서는 에지 API를 사용하여 가상 호스트를 만들 수 있습니다
- 다음을 실행합니다.
<ph type="x-smartling-placeholder"></ph>
가상 호스트 API를 가져와서 아래와 같이
virtualhost
구성을 가져옵니다.퍼블릭 클라우드 사용자
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Private Cloud 사용자
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
각 항목의 의미는 다음과 같습니다.
{organization-name}는 조직의 이름입니다.
{environment-name}은 환경 이름입니다.
{virtualhost-name}은 가상 호스트의 이름입니다.
- 속성
proxy_read_timeout
가 새 값으로 설정되었는지 확인합니다.업데이트된 가상 호스트 구성 샘플
{ "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 }
위의 예에서
proxy_read_timeout
는 새로운 값인 120초로 변경합니다. proxy_read_timeout,
의 이전 값이 계속 표시되면 다음을 확인하세요. 가상 호스트에서 I/O 제한 시간 구성에 설명된 모든 단계를 올바르게 따랐습니다. 놓친 단계가 있으면 모든 단계를 올바르게 다시 반복합니다.- 여전히 I/O 제한 시간을 수정할 수 없으면 Apigee Edge 지원팀에 문의하세요.
라우터에서 I/O 제한 시간 구성
이 섹션에서는 라우터에서 I/O 시간 제한을 구성하는 방법을 설명합니다. I/O 제한 시간은
라우터 속성을 통해 구성됨
conf_load_balancing_load.balancing.driver.proxy.read.timeout
는 다음을 나타냅니다.
I/O 시간 제한 값(초)입니다.
라우터에서 I/O 시간 제한을 구성하려면 다음 단계를 따르세요.
- 라우터 머신의 편집기에서 다음 파일을 엽니다. 아직 없으면 새로 만듭니다.
/opt/apigee/customer/application/router.properties
예를 들어
vi
에서 다음 명령어를 입력합니다.vi /opt/apigee/customer/application/router.properties
properties
파일에 다음 형식의 줄을 추가하여time_in_seconds
값:- 변경사항을 저장합니다.
- 아래와 같이 이 속성 파일을
apigee
사용자가 소유하고 있는지 확인합니다.chown apigee:apigee /opt/apigee/customer/application/router.properties
- 아래와 같이 라우터를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 라우터가 두 개 이상인 경우 모든 라우터에서 위 단계를 반복합니다.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
예를 들어 라우터의 I/O 시간 제한을 120초로 변경하려면 다음 줄을 추가합니다.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
I/O 제한 시간(분)을 수정할 수도 있습니다. 예를 들어 제한 시간을 다음 줄을 추가합니다.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
라우터의 I/O 시간 제한 확인
이 섹션에서는 라우터.
토큰을
conf_load_balancing_load.balancing.driver.proxy.read.timeout
: I/O 제한 시간 설정
라우터에서 실제 속성 proxy_read_timeout
가
새 값으로 설정되어 있습니다.
- 다음에서 속성
proxy_read_timeout
검색:/opt/nginx/conf.d
디렉터리에서 이 디렉터리가 새 값을 다음과 같이 업데이트합니다.grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- 새 I/O 시간 제한 값이 라우터에 성공적으로 설정되었다면 위의 명령은
모든 가상 호스트 구성 파일에 새 값이 표시됩니다.
다음은
grep
명령어를 실행했을 때 I/O 제한 시간은 120초입니다./opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
위의 출력 예에서
<ph type="x-smartling-placeholder">proxy_read_timeout
속성이 새 값 120으로 설정된0-default.conf
의 구성 파일을 제공합니다. 이는 I/O 제한 시간을 나타냅니다. 라우터에서 120초로 구성됩니다. proxy_read_timeout
속성의 이전 값이 계속 표시되면 아래에 설명된 모든 단계를 따랐는지 확인합니다. 라우터에서 I/O 시간 제한 구성을 올바르게 해야 합니다. 만약 놓친 부분이 있는 경우 모든 단계를 올바르게 다시 반복합니다.- 여전히 I/O 제한 시간을 수정할 수 없으면 Apigee Edge 지원팀에 문의하세요.
다음 단계
메시지 프로세서에서 I/O 시간 제한 구성에 대해 알아보기