2017-02-09 12 views
0

16個のvCPU、2.4 GHz、Intel Xeon E5-2676v3、64 GiBメモリが2つあります。Yandex Tankが必要な負荷を生成しないのはなぜですか

最初にロード、2番目のプロセス要求を生成します。

コンフィグload.ini:期待

[phantom] 
address=0.0.0.0 ;target's address(chanched, of course) 
port=443 ;target's port 
rps_schedule=step(1000,10000,1000,15s) ;load scheme 
ssl=1 
header_http = 1.1 
headers = [Host: api.somehost.io] 
    [Content-Type: application/json] 
    [Connection: close] 
uris = /api/test 

: 負荷を段階的に生成される、1 000 RPS、毎15から開始は、10 000 RPSまで、1 000 RPSを加えます。

我々は持っている:1000を期待

を、(応答時間平均7ミリ秒)〜1000年を持っています。

予期される2000年は〜2000(平均応答時間30ミリ秒)です。

予想される3000は~2700(応答時間250ミリ秒)です。

予想4000は、〜2700(応答時間250ミリ秒)です。

さらに、いくら計画増加RPS、実際の遺跡の中〜2700

は、いくつかの提案を持っていない: 1. Yandexのタンクは、そのサーバがそのような負荷を処理することはできませんし、それを増加させない、「理解します」 。 2.サーバーがさらに接続を確立できません。

テストurl -/api/testは、railsアプリケーション+ nginxをプロキシとして処理します。

私は静的なファイルを使ってテストを行って、2番目の提案を確認しました。結果:https://overload.yandex.net/8175

接続数を超える2700 =〜200 000 しかしload.iniファイルに必要とされるよりも少ないこの番号 - のconst(500000,15s)。

質問:Yandex Tandが必要な負荷を生成しないのはなぜですか?私は結果を間違って理解しているかもしれませんか?

答えて

0

平均サーバーの応答時間が250msの場合、1秒間にそれぞれのファントムインスタンスが1秒あたり約4回の要求を送信できます。 したがって、デフォルト量のファントムインスタンス(1000)タンクでは物理的に>〜4000rpsを送信できません。使用可能なインスタンスがなく、すべてがデータの送信および待機中です。

あなたはそれがhttps://yandextank.readthedocs.io/en/latest/core_and_modules.html#basic-options

+0

で述べています[phantom]セクションinstances=10000に定義するように、複数のインスタンスを使用しようとすることができ、プロット「スレッド」はhttps://overload.yandex.net/8175#tab=test_data&tags=でもあります&plot_groups = extended&machines = 1859&metrics =&slider_start = 1486625970&slider_end = 1486626010&compress_ratio = 1は、使用されたタンクのインスタンスの数を示します。それに気をつけてください。もしそれが最大値近くにあれば、現在の設定でタンクを最大にしました。 – r2d2

関連する問題