2010-07-05 16 views
5

Tôi đang chạy một số thử nghiệm tải bằng JMeter để biết ứng dụng của tôi hoạt động như thế nào dưới tải trên Google App Engine (Java).Công cụ ứng dụng của Google - throttle_code = 4 khi chịu tải trọng cao trong thử nghiệm tải

Khi tôi nhấn khoảng 100 người dùng ảo, thời gian phản hồi của tôi bắt đầu giảm và tôi nhận thấy "throttle_code = 4" xuất hiện trong tệp nhật ký GAE (xem bên dưới).

Có ai biết điều này có nghĩa là gì không? Thực tế là tôi đang thực hiện nhiều yêu cầu từ cùng một IP đánh một số loại bảo vệ DDOS tự động?

Cảm ơn

 
---- 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 

Trả lời

3

See (dường như) chính thức của Google trả lời ở đây, mặc dù tôi không chắc chắn rằng nó hoàn toàn trả lời câu hỏi.

Dường như yêu cầu của bạn đang mất 3500ms. Chúng tôi tự động tăng số lượng các trường hợp phục vụ yêu cầu của bạn miễn là bạn duy trì mili giây trung bình/yêu cầu 1000ms hoặc dưới (chúng tôi khuyên bạn nên 800ms, phụ 400ms là tối ưu). Nếu bạn chạy rất nhiều yêu cầu chạy dài, chúng tôi sẽ không quay lên các phiên bản mới cho bạn và bạn sẽ nhấn một trần rộng.

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

Rõ ràng, họ ga dựa trên của bạn 'hiệu quả', nhưng có vẻ như yêu cầu ban đầu của bạn chỉ 69ms là. Mức trung bình của ứng dụng của bạn có cao hơn các yêu cầu khác không? Nó có vẻ như một chiến thuật kỳ lạ KHÔNG quay lên vì ứng dụng của bạn chậm nếu ứng dụng của bạn chậm chạp bởi vì nó vẫn chưa được tách ra ...

Điều khác tôi nhận thấy là yêu cầu kiểm tra của bạn thông qua JMeter là 35kb so với 7kb yêu cầu khác - dữ liệu của ứng dụng của bạn có gia tăng dưới thử nghiệm tải không? Tiêu đề chồng chất lên?

Các vấn đề liên quan