LoginSignup
6
2

More than 1 year has passed since last update.

KotlinプロジェクトでGatlingを実施する

Posted at

はじめに

負荷試験ツールとしてGatlingを初めて使用したので、インストールからGatling実行結果を確認するまでの手順をまとめました。

Gatlingとは

Gatlingはオープンソースの高性能負荷テストツールで、主にHTTPプロトコルを使用したWebアプリケーションを対象にしたものです。その設計により、高度なシナリオを記述し、テストの結果を分かりやすい形で表示できます。これにより、大量のユーザートラフィックを扱う能力がサーバーに備わっているか確認することが可能となります。

GatlingではScalaというプログラミング言語が利用されており、DSL(ドメイン特化言語)を使って負荷テストシナリオを定義します。このため、複雑なシナリオでも読みやすく、メンテナンスしやすいコードを書くことが可能となります。

Kotlinプロジェクトの構築について

Gatling自体はScalaをベースにしていますが、他のプログラミング言語でも使用可能です。KotlinとGradleを使用したプロジェクトであるgatling-gradle-plugin-demo-kotlinです。

このプロジェクトは、Kotlinで記述されたGatlingのシナリオを実行するデモンストレーションとなっています。Gradleプラグインを使用することで、Gatlingのシミュレーションを簡単に実行することが可能です。

1.クローン

git clone https://github.com/gatling/gatling-gradle-plugin-demo-kotlin.git

2.ディレクトリへの移動

cd gatling-gradle-plugin-demo-kotlin

3.Gatlingシミュレーションの実行

./gradlew gatlingRun

上記のコマンドを実行すると、GradleとKotlinを用いてGatlingのシミュレーションが実行されます。./gradlew gatlingRunコマンドはプロジェクト内の全てのGatlingシミュレーションを実行します。

Gatlingの負荷試験結果について

Gatlingの負荷試験が完了すると、詳細なレポートがHTML形式でresultsフォルダに生成されます。このレポートは非常に分かりやすく、パフォーマンスの各指標を視覚的に理解することが可能です。

以下に示すのは、典型的なGatlingの結果レポートのスクリーンショットです。

スクリーンショット 2023-06-25 18.49.39.png

このレポートには以下の情報が含まれています。
・Response Time Ranges
 レスポンス時間の範囲(レンジ)ごとにリクエストの数を集計したものです。
・Number of requests
 負荷テスト全体で何回のリクエストが行われたかを示す数値です。
・Response Time X percentile
 計測したデータの全体のX%に位置するレスポンスタイム(ms)
・Cnt/s
 "counts per second"の略で、1秒あたりのリクエスト数を示しています。

以上の詳細なレポートにより、Gatlingを用いた負荷試験の結果を深く理解し、それに基づいてアプリケーションのパフォーマンス改善を行うことが可能となります。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2