이 MSDN 문서 Use AppCmd.exe to Configure IIS at Startup에 따라 Azure에서 내 웹 API 용 JSON 압축을 구성했습니다.JSON 콘텐츠 압축이 Azure WebRole을 사용하여 얼마 후 작동하지 않습니다.
필자는 필자의 역할을 게시하고 테스트를 시작하며 모두 Fiddler에 따른다. 여기
GET http://x.cloudapp.net:8080/api/xyz HTTP/1.1
Accept: application/json
Host: x.cloudapp.net:8080
Accept-Encoding: gzip
는 예를 들어 응답 헤더입니다 : 여기
는 예를 들어 요청 헤더입니다 불과 몇 웹 API 나중에 호출
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Content-Encoding: gzip
Expires: -1
Vary: Accept-Encoding
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 18 Jul 2013 22:27:38 GMT
Content-Length: 2472
(추천 초 후에) 모든 응답은 더 이상 없다 압축.
요청 헤더 :
GET http://xyz HTTP/1.1
Accept: application/json
Host: sp-test-server2012.cloudapp.net:8080
Accept-Encoding: gzip
응답 헤더 :
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 18 Jul 2013 22:27:44 GMT
Content-Length: 16255
참고 제 답변 누락 컨텐트 인코딩.
그래서 나는 압축 된 몇백 건의 호출을 얻었고 그 다음 대부분의 나머지는 나머지는 압축이 풀렸다. 때때로 나는 다른 응답이 압축 된 것을 볼 수 있습니다. 또는 테스트를 잠시 중단했다가 다시 시작하면 압축이 다시 시작됩니다.
IIS 8에서 압축이 '조절'되었습니까? CPU가 거의 초과되면 IIS가 압축을 중지합니까?
내 WebRole을 Azure에서 모니터링 할 때 내 부하 테스트 중에 CPU 사용이 90 %를 초과 할 수 있습니다. 결과에 대한 압축 부족과 상관 관계가 있는지 여부는 알기 어렵습니다. 메모리 사용량은 전혀 문제가되지 않습니다.
더 신뢰할 수 있고 예측 가능합니다.