

Gatlingを使って負荷テストを行っております。

ユーザー数：1  
実施間隔：600秒

[code]

    setUp(scn.inject(rampUsers(1) during(600 seconds))).protocols(httpProtocol)
    
[/code]

という条件で負荷テストを実施しているのですが、実施すると、想定よりも早くテストが完了してしまいます。  
（例：600秒で完了させたいテストが80秒ほどで完了してしまう）

想定通りの実施間隔でテストを完了させるためにはどのようにすればよいか対処方法をご教授頂けませんでしょうか。  
宜しくお願い致します。


CC BY-SA 4.0
2021-06-02T10:34:19.790
76270
2021-06-04T11:12:27.603
2021-06-04T11:12:27.603
3068
44495
question
scala gatling
Gatling ユーザー数と実施間隔の設定について


公式ドキュメント見る限り、テストの実施時間は `scenario.during()` で指定できるようです。

<https://gatling.io/docs/current/general/scenario/#during>

簡単なサンプルコードとしては以下の様になります。

[code]

    import io.gatling.core.Predef._
    import io.gatling.http.Predef._
    
    import scala.concurrent.duration._
    import scala.language.postfixOps
    
    class Aaa extends Simulation {
    
      val httpProtocol = http
        .baseUrl("http://localhost:9000")
        .inferHtmlResources()
        .contentTypeHeader("text/xml; charset=utf-8")
        .userAgentHeader("Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.42000)")
    
      val scn =
        scenario("aaa")
          .during(600 seconds) {
            exec(http("request").get(""))
          }
    
      setUp(scn.inject(rampUsers(1) during(600 seconds))).protocols(httpProtocol)
    }
    
[/code]

実行結果からも600s実施されていることが分かります。

[code]

    ================================================================================
    2021-06-04 14:11:02                                         600s elapsed
    ---- Requests ------------------------------------------------------------------
    > Global                                                   (OK=135864 KO=0     )
    > request                                                  (OK=33966  KO=0     )
    > main.css                                                 (OK=33966  KO=0     )
    > favicon.png                                              (OK=33966  KO=0     )
    > hello.js                                                 (OK=33966  KO=0     )
    
    ---- aaa -----------------------------------------------------------------------
    [##########################################################################]100%
              waiting: 0      / active: 0      / done: 1
    ================================================================================
    
[/code]

コメントでも書きましたが、この600秒間でどのようなアクセスが発生してほしいかについては、`scn.inject()`の設定で調整してみてください。

<https://gatling.io/docs/current/general/simulation_setup/#open-model>


CC BY-SA 4.0
2021-06-04T05:16:35.703
77331
2021-06-04T05:16:35.703
3068
76270
answer