Ddosify Docker 拡張機能を使用したノーコード パフォーマンス テスト プラットフォームの有効化

パフォーマンステストは、ソフトウェアテストとパフォーマンス評価の重要な要素です。 これには、システムに同時にアクセスする多数のユーザーをシミュレートして、高いユーザー負荷の下でのシステムの動作を判断することが含まれます。 このプロセスは、組織が実際のシナリオでシステムがどのように実行されるかを理解し、潜在的なパフォーマンスのボトルネックを特定するのに役立ちます。 さまざまな負荷条件下でアプリケーションのパフォーマンスをテストすることは、ボトルネックを特定し、アプリケーションのパフォーマンスを向上させるのにも役立ちます。 

この記事では、Ddosify Docker 拡張機能の概要を示し、パフォーマンス テストに使用を開始する方法を示します。  

バナー ddosify 拡張機能

パフォーマンステストの重要性

パフォーマンス テストを定期的に実行して、顧客が優れたエクスペリエンスを得られるように、さまざまな負荷条件下でアプリケーションが適切に実行されていることを確認する必要があります。 Kissmetrics は、ページの応答時間が1秒遅れると、コンバージョンが 7%減少し、顧客の半数がWebサイトが2秒未満で読み込まれることを期待していることを発見しました。ページの応答が 1 秒遅れると、e コマース サイトの年間売上が数百万ドル 失われる可能性があります。

Ddosifyに会う

Ddosify は、負荷と遅延のテストに焦点を当てた高性能のオープンコアパフォーマンステストプラットフォームです。 Ddosifyは、次の3つの製品のスイートを提供しています。

1. Ddosify Engine:シンプルなJSONファイルを使用してターミナルからアプリケーションをテストするために使用できる、オープンソースのシングルノードロードテストツール(6K +スター)。 Ddosify は Golang で書かれており、Linux、macOS、および Windows にデプロイできます。 開発者や中小企業は、Ddosify エンジンを使用してアプリケーションをテストしています。 このツールは GitHub で入手できます。

2. Ddosify Cloud: プログラミングの専門知識がなくてもアプリケーションをテストできるオープンコアSaaSプラットフォーム。 Ddosify Cloudは、Ddosifyエンジンを分散的に使用し、コードなしでロードテストシナリオを生成するためのWebインターフェイスを提供します。 ユーザーは、世界中のさまざまな場所からアプリケーションをテストし、高度なレポートを生成できます。 Docker、Kubernetes、InfluxDB、RabbitMQ、React.jsなど、さまざまなテクノロジーを使用しています。 Golang、AWS、およびPostgreSQLはこのプラットフォーム内にあり、すべてユーザーに対して透過的に連携します。 このツールは、 Ddosifyのウェブサイトで入手できます。

3. Ddosify Docker Extension: このツールはDdosifyエンジンと似ていますが、Dockerデスクトップの拡張機能のおかげで使いやすいユーザーインターフェイスを備えています。 この機能を使用すると、Docker デスクトップ内でアプリケーションをテストできます。 Ddosify Docker 拡張機能は、拡張機能マーケットプレースから無料で入手できます。 Ddosify Docker Extension リポジトリはオープン ソースであり、 GitHub で入手できます。 このツールは、 Docker 拡張機能マーケットプレースからも入手できます。

この記事では、Ddosifyドッカー拡張機能に焦点を当てます。

Ddosify のアーキテクチャ

Ddosify Docker 拡張機能は、Ddosify エンジンを内部ベースイメージとして使用します。 要求数、期間、ヘッダーなどの設定を拡張機能 UI から収集し、Ddosify エンジンに送信します。 

Ddosify エンジンはロード テストを実行し、結果を拡張機能に返します。 次に、拡張機能は結果をユーザーに表示します(図1)。 

ddosify エンジンがロード テストを実行し、結果を拡張機能に返すことを示す図。 拡張機能は、結果をユーザーに表示します。
図 1: Ddosify の概要

なぜドドシファイするのですか?

Ddosifyは使いやすく、 動的変数CSVデータのインポートさまざまな負荷タイプ相関アサーションなど、多くの機能を提供します。 Ddosifyには、ユースケースごとに異なるオプションもあります。 個人の開発者の場合は、Ddosify Engine または Ddosify Docker 拡張機能を無料で使用できます。 コード不要のロード テスト、高度なレポート、マルチジオロケーション、およびより多くの要求/秒 (RPS) が必要な場合は、Ddosify Cloud を使用できます。 

Ddosifyを使用すると、次のことができます。 

  • アプリケーションのパフォーマンスの問題を特定するには、大量のユーザー トラフィックをシミュレートします。
  • インフラストラクチャを最適化し、必要なリソースに対してのみ料金を支払うようにします。
  • 顧客が行う前にバグを特定します。 一部のバグは、高負荷でのみトリガーされます。
  • システム容量を測定し、その制限を特定します。

なぜDdosifyをDocker拡張機能として実行するのですか?

Docker拡張機能は、ソフトウェアアプリケーションを構築し、日常のワークフローに統合するのに役立ちます。 Ddosify Docker 拡張機能を使用すると、Docker デスクトップ内からアプリケーションのロード テストを簡単に実行できます。 Dockerデスクトップ以外のものをマシンにインストールする必要はありません。 Ddosify Docker 拡張機能 の機能は次のとおりです。

  • 6K + GitHubスターとすべてのプラットフォームで合計1M +のダウンロードを持つ強力なコミュニティ。 コミュニティメンバーは、機能の提案/追加やバグの修正によって貢献します。
  • 現在、HTTP プロトコルと HTTPS プロトコルをサポートしています。 他のプロトコルも進行中です。
  • さまざまな荷重タイプをサポートします。 次のようなさまざまな負荷タイプでシステムの制限をテストします。
    • リニア
    • インクリメンタル
    • 振った
  • 動的変数 (パラメーター化) のサポート。 Postmanと同様に、Ddosifyは 動的変数をサポートしています。
  • ロード テストの結果を PDF として保存します。

はじめ

前提条件として、Docker Desktop 4.10.0 以降がマシンにインストールされている必要があります。 Dockerデスクトップ は、当社のWebサイトからダウンロードできます。

ステップ1:Ddosifyドッカー拡張機能をインストールする

Ddosify は Docker の拡張機能パートナーであるため、Docker Extensions Marketplace から Ddosify Docker 拡張機能を簡単にインストールできます (図 2)。 Docker デスクトップを起動し、[ 拡張機能の追加] を選択します。 次に、 テスト ツール でフィルター処理し、[Ddosify] を選択します。 [ インストール ]ボタンをクリックして、Ddosifyドッカー拡張機能をインストールします。 数秒後、Ddosify Docker 拡張機能がマシンにインストールされます。

ddosify ドッカーのインストール方法を示すスクリーンショット。 Docker デスクトップを起動し、 [拡張機能の追加] を選択します。 次に、テスト ツールでフィルター処理し、ddosize を選択します。 インストールボタンをクリックして、ddosifyドッカー拡張機能をインストールします。 数秒後、ddosifyドッカー拡張機能がマシンにインストールされます。
図2:Ddosifyのインストール。

手順 2: ロード テストを開始する

アプリケーションのロード テストは、Docker デスクトップから開始できます (図 3)。 Dockerデスクトップを起動し、[拡張機能]セクションの [Ddosify ]アイコンをクリックします。 Ddosify Docker 拡張機能の UI が開きます。

docker デスクトップからアプリケーションのロード テストを開始する方法を示すスクリーンショット。 Dockerデスクトップを起動し、拡張機能セクションのddosifyアイコンをクリックします。 ddosify ドッカー拡張機能の UI が開きます。
図 3: 負荷テストの開始。

ロード テストを開始するには、アプリケーションの ターゲット URL を入力します。 HTTP メソッド (GET、POST、PUT、DELETE など)、 プロトコル (HTTP、HTTPS)、 リクエスト数期間ロードタイプ (線形、増分、ウェーブ)、 タイムアウト本文ヘッダー基本認証、 および プロキシ 設定を選択できます。 次の値を選択しました。 

リンク先:https://testserver.ddosify.com/account/register/
方式:投稿
議定書:ティッカー
要求数: 100
期間:5
負荷タイプ:リニア
タイムアウト:10
体:{"ユーザー名": "{{_randomUserName}}", "email": "{{_randomEmail}}", "password": "{{_randomPassword}}"}
ヘッダー:User-Agent: DdosifyDockerExtension/0.1.2Content-Type: アプリケーション/JSON

この構成では、ターゲット URL に 100 個の要求を 5 秒間送信します (図 4)。 RPS は 20 です。 ターゲット URL は、本文パラメーターを使用して新しいユーザーを登録するために使用されるテスト サーバーです。 本文のユーザー名、電子メール、およびパスワードに動的変数(ランダム)を使用しています。 動的変数 の詳細については、Ddosify のドキュメントを参照してください。

ターゲット URL に 100 秒間送信する 5 件のリクエストを示す Ui スクリーンショット。
図4:サンプル負荷テストのパラメータ。

次に、[ ロード テストの開始 ] ボタンをクリックしてロード テストを開始します。 結果がUIに表示されます(図5)。

[ロード テストの開始] ボタンをクリックして、ロード テストを開始します。 結果が UI に表示されます。 このスクリーンショットでは、失敗した実行と成功した実行の一覧が表示され、48 人のユーザーが作成され、サーバーは 32 個の要求に応答しませんでした。
図5:ドドシファイテスト結果。

テスト結果には、次の情報が含まれます。

  • 48 件の要求でユーザーが正常に作成されました。 応答コード: 201
  • サーバーとのユーザー名と電子メールが重複しているため、20 件のリクエストでユーザーを作成できませんでした。 応答コード: 400
  • タイムアウトのため、32 個の要求でユーザーを作成できませんでした。 サーバーは10秒以内に応答できなかったため、タイムアウト値を増やすか、サーバーを最適化する必要があります

ロード テストの結果を保存することもできます。 [ レポート ]ボタンをクリックして、結果をPDFファイルとして保存します(図6)。

結果を pdf ファイルとして保存するためにクリックするレポート ボタンを示すスクリーンショット。
図 6: 結果を PDF として保存します。

結論

この記事では、Ddosify Docker 拡張機能をインストールし、Docker デスクトップからアプリケーションのロード テストをすばやく開始する方法について説明しました。 テストサーバーで5秒間100リクエストのランダムなユーザーを作成しましたが、タイムアウトのためにサーバーがすべてのリクエストを処理できないことがわかりました。 

Ddosifyについてサポートが必要な場合は、 GitHubリポジトリ で問題を作成するか、 Discordサーバーに参加してください。

リソース