2010-07-05 23 views
5

Uygulamamın Google App Engine (Java) uygulamasında yük altında nasıl performans gösterdiğini öğrenmek için JMeter kullanarak bazı yük testleri çalıştırıyorum. Google App Engine - throttle_code = 4 yük testinde yüksek yük altındayken

benim tepki süresi bırakarak başlar yaklaşık 100 sanal kullanıcıları çarptığında, ben de "throttle_code = 4" GAE'nin günlük dosyalarında görünen (aşağıya bakınız) dikkat edin.

Bunun ne anlama geldiğini bilen var mı? Aynı IP'den bir çeşit otomatik DDOS korumasına çarpan birden çok istekte bulundum mu? Ben tamamen sorunun cevabının değil eminim rağmen

Teşekkür

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

cevap

3

See (görünüşte) resmi Google, burada cevap. İsteğiniz 3500ms alıyor gibi

görünüyor. Ortalama milisaniye/1000ms veya daha düşük bir talepte bulunduğunuz sürece taleplerinizi karşılayan örneklerin sayısını otomatik olarak kaydederiz (800ms, 400ms optimaldir). Çok sayıda uzun süreli çalışma isteği yürütürseniz, sizin için yeni örnekler açmayacağız ve bir ölçekleme tavanına çarpacaksınız.

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

Anlaşılan 'verimlilik' daki dayalı ama orijinal isteği yalnızca 69ms gibi görünüyor gaz kolu. Uygulamanızın diğer istekler nedeniyle ortalama ms/req değeri daha yüksek miydi? Garip bir taktik DEĞİL dönüyor çünkü uygulamanızın yavaş olması nedeniyle uygulamanız yavaş, çünkü henüz dönmedi ...

Fark ettiğim diğer şey, test isteğinizin JMeter üzerinden 35kb vs Diğer isteğin 7kb'si - Uygulamanızın verileri test yükü altında mı artırılıyor? Başlıklar yığılıyor mu?