2010-07-05 1 views
5

JMeter를 사용하여 일부로드 테스트를 실행하여 Google App Engine (Java)에서로드하는 중에 애플리케이션이 어떻게 수행되는지 확인할 수 있습니다.Google App Engine -로드 테스트에서로드가 높은 경우 throttle_code = 4

약 100 명의 가상 사용자가 내 응답 시간이 떨어지기 시작하고 GAE 로그 파일에 "throttle_code = 4"가 표시됩니다 (아래 참조).

누구나 이것이 의미하는 것을 알고 있습니까? 같은 IP에서 여러 종류의 자동 DDoS 보호를 요청하는 것입니까? 나는 그것이 완전히 질문에 대한 대답하지 확신하지만

감사

 
---- request with"throttle_code=4"; when connecting from JMeter 
07-05 05:11AM 58.917 /market/1234/history?pricebars=240 200 3651ms 19cpu_ms 35kb Java/1.5.0_16,gzip(gfe) 
75.101.226.4 - - [05/Jul/2010:05:12:02 -0700] "GET /market/1234/history?pricebars=240 HTTP/1.1" 200 35566 - "Java/1.5.0_16,gzip(gfe)" "ci-pricehistory.appspot.com" ms=3652 cpu_ms=19 api_cpu_ms=0 cpm_usd=0.004527 pending_ms=3570 throttle_code=4 
I 07-05 05:12AM 02.532 
uk.co.cityindex.CandleServlet fetch: Loading 240 bars from cache... 
I 07-05 05:12AM 02.558 
uk.co.cityindex.CandleServlet fetch: time:47 

---- request without "throttle" log; when connecting from browser 
07-05 06:28AM 10.993 /market/1234/history?pricebars=240 200 69ms 19cpu_ms 7kb Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4,gzip(gfe) 
80.169.172.178 - - [05/Jul/2010:06:28:11 -0700] "GET /market/1234/history?pricebars=240 HTTP/1.1" 200 7572 - "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4,gzip(gfe)" "ci-pricehistory.appspot.com" ms=69 cpu_ms=19 api_cpu_ms=0 cpm_usd=0.001423 
I 07-05 06:28AM 11.031 
uk.co.cityindex.CandleServlet fetch: Loading 240 bars from cache... 
I 07-05 06:28AM 11.055 
uk.co.cityindex.CandleServlet fetch: time:45 

답변

3

참조 (분명히) 공식 구글은 여기에 대답합니다.

귀하의 요청이 3500ms가 걸리는 것 같습니다. 평균 밀리 초/1000ms 이하의 요청을 유지하는 한 요청을 처리하는 인스턴스의 수를 자동으로 늘립니다 (800ms, 하위 400ms가 최적입니다). 오래 실행중인 요청을 많이 실행하면 새 인스턴스가 생성되지 않으므로 확장 한도를 초과하게됩니다.

http://osdir.com/ml/GoogleAppEngine/2010-07/msg00165.html

은 분명히, 그들은 '효율성'을 기반으로하지만 원래 요청은 69ms이었다처럼 보이는 스로틀. 다른 요청으로 인해 앱의 평균 ms/req가 더 높았습니까? 앱이 아직 속도가 나빠지면 앱이 느려서 이상한 전략이 아닌 것 같습니다 ...

내가 알아 차린 다른 것은 JMeter를 통한 테스트 요청이 35kb 대 7kb의 다른 요청 - 테스트로드시 앱의 데이터가 증가합니까? 헤더가 쌓여 있습니까?