タスクキュー実験

下の表に沿って実験したところ、リクエスト数:1 タスク数:512 wait:1000ms で「Error: Server Error」が発生しました。


Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it.

このとき、実行されなかったタスクが221あり、各タスクのエラーログは出力されていないのですが、これは親サーブレット(キューに投げる側)のほうで、タスクを追加するまえにエラー停止した為と思われます。
(テストで使用したソースコードこちら

リクエスト数タスク数wait(ms)成功失敗instance数処理時間(平均)処理時間(最大)
11100010
12100020
14100040
18100080
1161000160
1321000320
1641000640
112810001280
125610002560
15121000291221


【2010/3/2に追記】

すみません、上記のテストを実施した時から随分間が空き、SDKバージョンも1.3.1に変わってしまいました。。。

以下は、2010年3月2日時点でのテスト結果です。(rate:20/s bucket:5)

リクエスト数タスク数wait(ms)トライ失敗instance数全タスク完了までの時間(ms)
1110001011445
1210002012136
1410004014582
1810008025052
116100016046190
132100032049293
1641000640417382
112810001280545931
125610002560585935
1512100051207192966
1102410001024010284789
110241000102405385936


最後の行でインスタンス数が落ちているのは、spin downした為と思われます。

3月2日の時点ではインスタンス数は最大10ぐらいで高止まりするみたいです。



【2010/3/13に追記】

インスタンス数の話(情報元

・実際には長期的なトラフィックも見てて、一気にリクエストを発生させるようなスパイクでは本来の動きをしない。
・そういうテストをしたいとリクエストを出せば対応してくれる。
・30どころじゃないインスタンスで動作してるのもある
上記はGoogler直伝とのこと。インスタンス数の上限は長期的なトラフィックによっても変わるようですね。