0

Mac (Mac OS 10.8.1) で Gatling 2.0.0-M3 を使用して、サーバーで負荷テストを実行したいと考えています。

バージョンとヘルスチェックの 2 つの REST サービスをテストします。これらのサービスはどのデータベースにも接続せず、比較的単純です。本文にテキストを返します。一度に 1 つのサービスをロード テストしようとすると、応答時間が正しいように見えます (10 ミリ秒未満)。ただし、これらのサービスへの呼び出しを混在させると、応答時間が 12,000 ミリ秒を超えます。

これは、サービスをテストするために書いたコードです。

class MonitoringServices extends Simulation {
    val httpProtocol = http.baseURL("http://10.12.84.19:5000")
                           .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
                           .acceptEncodingHeader("gzip, deflate")
                           .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3")
                           .connection("keep-alive")
                           .userAgentHeader("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0")

    val headers_1 = Map(
                        "Accept" -> "application/json;q=0.9,*/*;q=0.8",
                        "Accept-Charset" -> "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
                        "Cache-Control" -> "max-age=0"
    )
    val scn1 = scenario("Monitoring services: version")
                  .exec(http("version")
                  .get("/mood-engine/v1/version")
                  .headers(headers_1)
                  .check(status.is(200))
               )

    val scn2 = scenario("Monitoring services: health-check")
                   .exec(http("version")
                   .get("/mood-engine/v1/health-check")
                   .headers(headers_1)
                   .check(status.is(200))
               )

    setUp(
        scn1.inject(
            atOnce(1 user),
            constantRate(1 usersPerSec) during (10 seconds)
        ),
        scn2.inject(
            atOnce(1 user),
            constantRate(1 usersPerSec) during (10 seconds)
        )
    ).protocols(httpProtocol)
     .assertions(global.responseTime.max.lessThan(350))
}

手がかりはありますか?

4

1 に答える 1

0

問題がテスト中のシステムにある可能性は十分にあります (デッドロック?)。サーバー側を監視できますか?JVM で実行する場合は、VisualVM または YourKit を試して、スレッドの動作を確認できます。

PS: M3 の直後にリリースした修正プログラムである M3a にアップグレードしてください。

于 2013-09-20T09:46:10.200 に答える