jmeter:stress_test
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
jmeter:stress_test [2015/08/27 01:06] – clownclown | jmeter:stress_test [2025/02/16 13:53] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 3: | 行 3: | ||
===== 負荷テストの目的の明確化 ===== | ===== 負荷テストの目的の明確化 ===== | ||
- | * 各種設定に問題がないか確認する\\ 基本的な動作が問題ないこと、明らかにおかしなスループットなどが計測されないこと、を確認する。\\ * OSの設定\\ * httpサービスなど、ミドルウェアの基本設定\\ * DBのスロークエリ、インデックスなどの設定\\ etc | + | * 各種設定に問題がないか確認する\\ 基本的な動作が問題ないこと、明らかにおかしなスループットなどが計測されないこと、を確認する。 |
+ | * OSの設定 | ||
+ | * httpサービスなど、ミドルウェアの基本設定 | ||
+ | * DBのスロークエリ、インデックスなどの設定 | ||
+ | | ||
* 現在の構成でのスループットの上限を探る\\ 本番を想定したある程度の構築を行った段階で負荷テストを行い、「ここまでは大丈夫」という値を探す。 | * 現在の構成でのスループットの上限を探る\\ 本番を想定したある程度の構築を行った段階で負荷テストを行い、「ここまでは大丈夫」という値を探す。 | ||
- | * スケールアップ(スペックアップ)、スケールアウト(サーバ台数増加)対応\\ いざ負荷が高くなったときにスケールアップ(スペックアップ)、スケールアウト(サーバ台数増加)で負荷軽減が可能か(負荷が移動するか)を確認する。 | + | * スケールアップ(スペックアップ)、スケールアウト(サーバ台数増加)対応 |
+ | いざ負荷が高くなったときにスケールアップ(スペックアップ)、スケールアウト(サーバ台数増加)で負荷軽減が可能か(負荷が移動するか)を確認する。 | ||
===== 負荷試験 ===== | ===== 負荷試験 ===== | ||
- | * 静的ページへアクセスした際のスループットを取得\\ 一般的に数千のスループットが出るはずなので、出ない場合は設定を見直す。\\ < | + | * 静的ページへアクセスした際のスループットを取得 |
+ | 一般的に数千のスループットが出るはずなので、出ない場合は設定を見直す。 | ||
- | | + | < |
+ | |||
+ | | ||
+ | この数値がフレームワーク使用時の最大スループットとなる。 | ||
+ | |||
+ | < | ||
※注意 | ※注意 | ||
行 20: | 行 31: | ||
複数ユーザのアクセスを確認するために、jMeterなどのツールでuseridを変数にしてシナリオ実行。 | 複数ユーザのアクセスを確認するために、jMeterなどのツールでuseridを変数にしてシナリオ実行。 | ||
- | * ユーザアクセスの多いページへアクセスした際のスループットを取得する\\ e.g. マイページ\\ < | + | * ユーザアクセスの多いページへアクセスした際のスループットを取得する |
+ | e.g. マイページ | ||
- | * (主に参照系の)DBアクセスの多いページへアクセスした際のスループットを取得する\\ e.g. デッキ作成(カード一覧)、クエスト一覧\\ | + | < |
- | * (主に更新系の)DBアクセスの多いページへアクセスした際のスループットを取得する\\ e.g. ゲームリザルト\\ < | + | |
+ | e.g. デッキ作成(カード一覧)、クエスト一覧 | ||
+ | |||
+ | < | ||
+ | |||
+ | | ||
+ | e.g. ゲームリザルト | ||
+ | |||
+ | < | ||
3~5にて。スループットの極端な低下、スロークエリ、インデックスの使われていないクエリ、LoadAverageの高騰などを確認する。 | 3~5にて。スループットの極端な低下、スロークエリ、インデックスの使われていないクエリ、LoadAverageの高騰などを確認する。 | ||
行 48: | 行 68: | ||
===== 関連しそうなカーネル設定のメモ ===== | ===== 関連しそうなカーネル設定のメモ ===== | ||
- | * irqbalance\\ < | + | * irqbalance |
+ | |||
+ | < | ||
# yum -y install irqbalance | # yum -y install irqbalance | ||
# service irqbalance start | # service irqbalance start | ||
- | # chkconfig irqbalance on</ | + | # chkconfig irqbalance on |
+ | </ | ||
- | * RPS/RFS\\ < | + | * RPS/RFS |
+ | |||
+ | < | ||
echo " | echo " | ||
echo 4096 > / | echo 4096 > / | ||
行 59: | 行 84: | ||
</ | </ | ||
- | * sysctl\\ < | + | * sysctl |
+ | |||
+ | < | ||
vm.swappiness=0 | vm.swappiness=0 | ||
net.core.somaxconn=4096 | net.core.somaxconn=4096 | ||
行 81: | 行 108: | ||
旧来のカードバトル型のソーシャルゲームでは1ユーザ、1日あたり350~750PV | 旧来のカードバトル型のソーシャルゲームでは1ユーザ、1日あたり350~750PV | ||
+ | |||
+ | > エンジニアカフェ× ドリコム技術勉強会 ~月間50億PVのソーシャルゲームを支える技術 | ||
+ | > http:// | ||
+ | |||
アプリ型の場合、サーバーアクセスの無い画面/処理もあるので、少し少ない数値を指針にする。 | アプリ型の場合、サーバーアクセスの無い画面/処理もあるので、少し少ない数値を指針にする。 | ||
- | スループット(1秒間に捌く数) | + | > スループット(1秒間に捌く数) |
- | PV x DAU / 24h / 60min / 60sec | + | > PV x DAU / 24h / 60min / 60sec |
e.g. | e.g. | ||
行 92: | 行 123: | ||
⇒ 500 * 100,000 / 24 / 60 / 60 ≒ 578.7 req / sec | ⇒ 500 * 100,000 / 24 / 60 / 60 ≒ 578.7 req / sec | ||
- | ピーク時の平均を1.5倍とする | + | ピーク時の平均を仮に1.5倍とすると |
⇒ 578.7 * 1.5 ≒ 868 req / sec | ⇒ 578.7 * 1.5 ≒ 868 req / sec | ||
jmeter/stress_test.1440637593.txt.gz · 最終更新: 2025/02/16 13:50 (外部編集)