- 環境構築
- Open JDK 8
- Scala 2.12
- 2.11, 2.13 では動作しない
- Open JDK でも動作するの?
- => 動作した
- sdkman というツールを使うとバージョン指定してインストールするのが簡単
- Gatling 使ってみる
- 実行環境
- Bundle
- とりあえずすぐに使えるやつ
- Build Tool
- SBT
- Gradle
- IDE
- IntelliJ
- Eclipse
- Bundle
- recorder.sh
- 手動の操作をコードに記録してくれるツール
- gatling.sh
- シナリオを実行するツール
- 実行環境
- 基本的な概念
- 仮想ユーザ
- ユーザごとの並行処理を Thread でなく message (coroutine ?) で実行している
- Senario
- テストシナリオ
- Scala の DSL で記述する
- Simulation
- 負荷のかけ方を調節する
- 負荷モデル
- Gatling はデフォルトで open model を採用している
- Closed model
- 1人のユーザが大量のアクセスを発行する
- Keep alive が有効な前提
- Open model
- 大量のユーザが数回のアクセスを発行する
- 1ユーザごとに独立したリソース空間が割り当てられる
- メモリ、ポートなどのリソースが枯渇しないように注意する必要がある
- リソース枯渇する場合は?
- 負荷ツールの実行ノードのスケールアウト
- テストモデルの再検討(ab / wrk を使う)
- Gatling の設定を変更し、仮想ユーザ間でコネクションプールを再利用する
- Session
- Gatling のクライアントセッション
- サーバ側のセッションではなく、仮想ユーザ固有の永続化データ
- Expression Language (EL) か Session API から参照する
- Expression Language (EL)
- Gatling の Session データに簡単に参照するためのテンプレート言語みたいなもの。
${myValue}
みたいな感じで Session データを動的に取得できる
- Gatling の Session データに簡単に参照するためのテンプレート言語みたいなもの。
- Gatling のクライアントセッション
- Feeder
- Map / Iterator
- Array / IndexedSeq
- CSV / JSON / JDBC / Redis / Sitemap
- Checks
- Responseデータを解析してデータを取得する
- Assersions
- リクエストの失敗を定義するためのもの?
- Reports
- 結果のレポート
- HTMLで出力される
- 仮想ユーザ
Last active
November 7, 2019 03:42
-
-
Save bilzard/10672e58ed7f502709117fe0953f02fc to your computer and use it in GitHub Desktop.
Gatling について
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment