ユーザーが一度に複数回接続しないことを要求するサーバーの負荷テストを行っています。
VUser を実際のユーザーにバインドすると、これは発生しますか? または、前の反復が完了するまでその VUser が再利用されないことを確認できますか?
ユーザーが一度に複数回接続しないことを要求するサーバーの負荷テストを行っています。
VUser を実際のユーザーにバインドすると、これは発生しますか? または、前の反復が完了するまでその VUser が再利用されないことを確認できますか?
これをテストする負荷テストを作成しました。
だいたい:
Method1 {
Trace.WriteLine(userId);
}
Method2 {
Trace.WriteLine(userId + "locked");
Thread.Sleep(5 min);
}
これら 2 つを組み合わせると、UserId が Method2 でロックされるとすぐに、5 分間はどちらのメソッドにもヒットしないことがわかります。そして、すべてのユーザーがロックアップされると、テストは 1 つが解放されるまで待機します。
コード化された Web テストを作成するときに、ロード テストが接続するユーザーを設定できます。プールからユーザーを取得するコードを追加することはできますが、新しいユーザーを取得するコードがボトルネックになりやすく、同時実行/マルチスレッドのバグが発生する可能性があるため、困難です。