サービス負荷テストloadme

私たちのチームは負荷テストツールの欠点に直面し、最終的には独自のサービスを開発することになりました。 主な困難:



他の人が「バイク」に興味を持つことを願っています。まず、すでに機能しているものについて説明し、その後、さらなる機能について議論することができます。



すでに何が行われましたか?







テストでは、メールを指定するフォームを開き、 URLを入力し、テストフローの数、地域を選択して、テストを開始します。



***更新***

多くの勇敢なhabravchanが200スレッドにタスクを配置しているのがわかります。 1ページが1秒で発行されると仮定すると、これは1時間あたりの出席者> 10万人の訪問者に相当します。 私たちのものを含む従来のプロジェクトは、そのようなテストで死にかけています。



結果はすぐに準備できます(たとえば、優れた結果-test.netのテストをご覧ください )。 ご覧のとおり、200スレッドを使用すると、1秒あたり1000を超えるリクエストを生成できます。すべて、テスト対象のサービスとの通信速度に依存します。 実際には、応答の速度。



ウェブサイトで結果を自慢する準備ができている場合は、[公開結果]ボタンをクリックできます。 同僚に見せるために、リンクを送信してください。



何をテストしますか?

静的リソース、画像、スクリプトはCDNから提供する必要があります。 戻り速度をテストすることは意味がありません。たとえば、古き良きhttp://tools.pingdom.com/fpt/を使用して、ページ全体の読み込み速度をテストするだけです。



Loadmeはページ/ APIメソッドなどのコードのテストに重点を置いています。このツールで1x1.gifを与えるnginxをテストすることは確かに可能ですが、実用的な利点はなく、nginxは暖かくさえなりません。



どのページがボトルネックであるかを判断するには、newrelicを使用するのが最善です。 人気のあるGoogleアナリティクスとは異なり、ボットリクエストの統計を追跡し、ページあたりの操作数、およびapdexインデックスによってユーザーの印象を損なったページごとにリクエストを作成することもできます。

ご存知のように、軟膏のハエは蜂蜜の樽を台無しにし、アプリケーションが比較的まれなアクションでさえスローダウンする場合、これは一般的な軽量操作に大きな影響を与える可能性があります。



リダイレクトはどのように機能しますか?

リダイレクトが実行されます。 これらを積極的に使用して、wikiart.orgサイトの1つをテストし、「ランダムな画像に切り替える」機能を実装します。



複数のURLをテストすることが重要なのはなぜですか?

人気の速いページと遅いページ(検索など)の相互の影響をテストするには



なぜ$ RNDが必要ですか?

構文は$ RND(from、to)です。

たとえば、 http://someshop.com/search? from = $ RND(0,1000) &to = $ RND(1,000,10000)は、 0〜1000の範囲の価格で1000〜で終わる製品を検索するための任意のクエリを生成します。 10000。これにより、検索の真の力を評価できます。

たとえば、人気のあるウクライナの店舗Rozetkaは、ランダムな価格でスマートフォンを検索するのに平均5秒かかります。

http://loadme.socialtalents.com/Result/ViewById/56108a645b5f1700481cc21d 、これは理想的な結果からはほど遠いものです。

Amazonはこのタスクに根本的に対処します -結果として、かなりの数のエラーがddosに対する保護です



今後の計画





リクエストの投稿、書き込み、削除

正しいことは、間違いなく、計画の中にあります。



ログイン

最初のリクエストがランダムなユーザー(サーバーからのサポートを必要とする)でテストを記録するように、Cookieの十分なサポートがありますか?さらにユーザーの代わりに作業が行われますか?



ステップテスト

25%、50%、75%、100%の一連のテストを行い、速度の違いを確認するとします。



固定荷重

スレッドの数を指定する代わりに、ユーザーが1秒間に開始する操作の数を選択できるようにします。



定期的な定期テスト

毎日/毎週テストを繰り返し、レポートをメールで送信します。

何らかの種類のwebhookを提供して、コードから既存のテストを開始することもできます(たとえば、更新後)



帯域幅の視覚化の改善

サーバーが不均一だった可能性があります。 この計画により、サーバー帯域幅の視覚化が数秒で追加されます。



ドメイン所有権の検証

ドメインごとに200人以下のエージェントという制限が存在するため、だれも誰かのサイトをddoに突っ込むことはできません。 サイトに対して、別のサブドメインを作成し、再度テストできます。

ただし、将来的には、CNAMEレコードまたは特定の名前のファイルを使用してドメインを検証する必要があります。



既存の競合他社


Loadimpact.com-通常の負荷テストでは、少なくとも1秒あたり100リクエスト、1,500人のいわゆる「仮想ユーザー」が必要になります-各ユーザーは15秒に1回ページを読み込みます。 このパッケージは現在、月額299ドルの価値があります。



loader.io-優れたサービス、月額99ドルの有料パッケージ。 非常に柔軟なURL設定-メソッド、Cookie、ヘッダーを作成できますが、テストのランダム化が十分ではありませんでした。



All Articles