2016-07-22 4 views
1

私は、最大100万人のアクティブユーザーがサイトに同時にアクセスしているウェブサービスをテストする方法を知りたいと思います。最大100万人のユーザーを持つWebサービスをテストするにはどうすればよいですか?

これは理論上です - 私はこのようなWebサービスを持っていませんが、最近reading this article on how to build a scalable app for > 500K usersであり、人々がこれをどのようにテストするのだろうかと思いましたか?

説明の便宜のために、私はサービスを完全に管理しており、ユーザー名がtest1 - >test1000000の利用可能な100万のテストアカウントを既に作成していると仮定してください。私はアカウントが世界中の場所から私のサービスにアクセスしていることを望んでいますが、どんな提案にもオープンしています!

編集:私はJMeterとSeleniumに精通していますが、クライアントのアクティビティがすべて単一の場所から実行されているとローカルネットワークでボトルネックになる可能性があるという懸念がありました。だから、10Kのクライアントを100Kのクライアントを走らせる別々の場所で言うのではなく、1000のJMeterクライアントをそれぞれ1000人のユーザーでテストするのが良いかもしれないと思っていましたが... ?

+1

で詳細情報http://locust.io/ http://jmeter.apache.org/usermanual/remote-test.html – dm03514

答えて

1

高レベルでは、世界中に分散したテストノードがあると思います。それぞれには、特定のタイプのトランザクションを認証して実行するロジックが含まれています。テストアカウントのブロックを各ノードに配布し、各ノードが並行してテストを開始できます。私はそれがそのタグライン:)あなたがapache jmeter使用することができます

http://locust.io/

1

や私の個人的な好みでこれを行い主張locust.ioフレームワークを見て、開始する実用的なレベルで

siege

包囲の場合、私は、それぞれがユーザーからの呼び出しを表し、それらを同時に実行する百万のURLを持つurls.txtファイルを生成すると思います。

Blazemeter 場所については、地理的に分散ストレステストを持っているあなたの懸念については

すぎ

1

あなたは宗ツールhttp://tsung.erlang-projects.org/ に見てみることができ、それは本当に軽量であるから10万の仮想ユーザを実行することができます平均マシン(あなたのスクリプト難易度に依存します)。

0

これらのサイトでは複数ステップの自動化はできませんが、次のサービスではさまざまなクライアントの場所(アジア、北米、オーストラリアなど)からのURLをヒットさせ、テスト目的の場合は帯域幅を絞り込みます:

WebPageTest - https://www.webpagetest.org/ - 自分についてのページから:「WebPagetestは、主に高速化ウェブを作るための努力の一環として、Googleが開発され、サポートされているオープンソースプロジェクトです。」このサイトにはapiとopensourceもあり、apiとcliというノードを介して自動化することができます。

Pingdomの https://tools.pingdom.com/

this blogpost from KeyCDN

関連する問題