0

現在勤務している会社で、Web ページの負荷テストを依頼されました。ここまでは順調ですね。

しかし..... プロジェクトマネージャーは、実際のユーザーがリクエストを生成したり、Web サイトと対話したりしてテストを実行したいと考えています。

コンピューターでシミュレートされたユーザーが Web サイトのインスタンスと対話し、ログ、ナビゲート、購入などを行うという、本当の真のシナリオが達成されるように思えます。そこで、この目標を達成するために、いくつかの負荷テスト ツールを探し始めました。

先週から、そのうちの 2 つをチェックしています。Visual Studio Ultimate 2012 Load Testing Tool と JMeter です。どちらも、負荷テストを実行するための優れた代替手段のようです。両方でテストを正常に作成、実行、および構成しました。

私の問題: 実際のユーザーをエミュレートできません。どちらも JS を実行せず、(私が理解している限り) HTML をレンダリングしません。

だから、私の質問は: いくつかの他のツールでそのような負荷テストを実行できますか? それとも、私が聞いたことのない方法で彼らと一緒にいるのでしょうか?誰かがこれらの問題を乗り越え、共有する経験を持っていますか?

スレッドでいくつかのテストを開始するスクリプトを作成することを検討しました。それぞれがおそらく Selenium Web Driver テストを実行します。しかし、これが適切にスケーリングできるとは思いませんし、少なくとも満足のいくテストパフォーマンスを達成できるとは思いません。私たちの意図は、Web サイトと対話する数百から数千 (おそらく 2 ~ 3k) の同時ユーザーをシミュレートすることです。

お時間をいただきありがとうございます。

4

3 に答える 3

1

ここで「実際のユーザー」をどのように定義するのかわかりません。私は JMeter の経験があり、私が行った最も近い「実際のユーザーのような」ケースは、ユーザーが行う典型的な要求のリストで構成されるスクリプトを作成することです。例えば:

  1. ユーザー X が Web サイトにログインします。
  2. ユーザー X が自分のプロフィールを表示するページをリクエストする
  3. ユーザー X が自分の情報を更新する
  4. ユーザー X はランダムな友達の名前をクリックして友達のページをリクエストします
  5. ユーザー X ログアウト

次に、100 秒以内に約 100 のスレッドを生成し、100 人のユーザー X がハイタイムに同じことを行うのを模倣します。このようにして、優れたプロファイラーとともに、100 人のユーザーが同時にオンラインになった場合のシステムのパフォーマンス (たとえば、平均応答率、最大応答率など) と、どの関数がボトルネックであるかを推定できます。最適化を検討する必要があります。

于 2013-03-28T06:56:16.557 に答える
0

あなたが言った:

スレッドでいくつかのテストを開始するスクリプトを作成することを検討しました。それぞれがおそらく Selenium Web Driver テストを実行します。

NeuStar Web パフォーマンス(以前の BrowserMob)を使用すれば、まさにこれを行うことができます。いくつかの Selenium スクリプトをアップロードし、これらに基づいてテストを構成します。その後、NeuStar は、Amazon クラウド マシンをプロビジョニングしてシナリオを実行し、それらを監視して、適切なレポートを提供します。

無料ではありません。25 ユーザーまでのテストでは非常に安価 (数ドル) ですが、必要な仮想ユーザーが増えるほど高価になります。とはいえ、その背後にあるエンジンはオープンソースのBrowserMob Proxyと呼ばれているため、少し努力すればすべて自分で行うことができます。

于 2013-03-28T18:40:11.760 に答える
0

Visual Studio を使用すると、UI との対話を記録し、それらの記録をロードしてテストをロードし、それらのロード テストを実行できます。あらゆるタイプの UI インタラクションを記録できます。ですから、あなたの行動が実際のユーザーと一致しない理由がわかりません。私のasp.net mvc 3サイトはノックアウト、json、JSを多用しており、負荷テストにVSUltimate 2012を使用している間、すべてのパフォーマンステストを問題なく正常に実行できるため、問題に直面している理由がわかりません.

UI 記録テストと負荷テストの作成に関する詳細 - http://msdn.microsoft.com/en-us/library/vstudio/dd293540.aspx

負荷テスト戦略に関する情報が必要な場合- ユーザーの 40% が製品を購入し、60% が単にナビゲートするなど、さまざまな戦略を構築できます。さまざまな戦略を試して、さまざまな負荷の下でマシンがどのように動作するかを確認し、リソースのしきい値を調べてから、スケールアップまたはスケールアウトする必要があります。システムが線形に応答している限り問題ありませんが、平均値にピークが見られる場合は. 応答時間、平均 ページ時間 (秒) であり、これは何らかのアクションを実行する必要がある時間です。

負荷テスト戦略の構築に関する詳細 - http://msdn.microsoft.com/en-us/magazine/cc188783.aspx

于 2013-09-20T18:57:00.233 に答える