Artilleryは、簡単に記述してテストを実行できる、開発者の生産性を重視した負荷テストツールです。ここでは、Artilleryの特徴や仕組み、使い方について解説します。
yamlファイルを使用することで、宣言的にシナリオを作成できる点がArtilleryの特徴です。シナリオの作成は簡単かつ直感的で、複雑な内容もyamlで記述できます。
その際、スクリプト言語を使用する必要がないため、プログラミングに対する高度な知識がなくても利用可能です。
Webアプリケーション、HTTP API、GraphQLサービスなど、多様なアプリケーションで負荷テストを実行できます。
さらに、serverless-artilleryを活用することで負荷を高めることができます。通常の環境ではサーバスペックに制限があり、負荷テストの実行に限界がありますが、ArtilleryではAWSやAzureアカウント内で負荷テストを実行できるため、リソース不足を気にせず利用できます。
Artilleryには、レポート共有やコラボレーションを支援する機能が搭載されており、テスト結果を簡単に共有できます。また、多様な統合機能を備えており、監視ツールや可観測性ツール、CI/CDパイプライン、IDEとの連携も可能です。
分散負荷テストのサポートが組み込まれており、クラウドネイティブでの実行が可能です。そのため、専用インフラを準備する必要がなく、分散型の負荷テストを簡便に実行できます。
また、チームごとのアカウントでテストを実行できるため、運用コストを抑えられる可能性があります。現在はAWS Lambda、AWS Fargate、Azure ACIなどのランタイムプラットフォームに対応しており、今後Kubernetesのサポートも予定されています。
Artilleryには、serverless-artilleryが用意されています。これにより、サーバレス環境で負荷テストを実行できる仕組みを提供。Serverless Applicationを構成管理するために、内部でServerless Frameworkが使用されています。
負荷テストの実行時には、シームレスな操作を目指した仕組みが採用されています。実行結果は視覚的に確認することが可能で、シナリオの組み合わせや段階的なアクセス数増加なども柔軟に設定可能です。初めての方でも試しやすい仕組みになっています。
ローカルフォルダにnpmコマンドを利用して、serverless-artilleryのインストール・セットアップを行います。
AWSアカウントのクレデンシャルを設定すると、テストの実行が可能になります。CSVファイルからデータを読み込むことで、大量のリクエストを効率的に生成できます。
社内の少数メンバーで使う小規模なシステムや、単発で済む程度の負荷テストであれば、フリーの負荷テストツールでも十分です。ただし負荷は一度解消したからといって二度と発生しないわけではなく、アップデートの度にテストが必要になるケースも多いのが実情。
負荷テストサービス会社の中には、検出したバグを分析した上で改善アクションまで踏み込んでくれるところがあります。依頼するなら、こういった改善までできる会社がおすすめです。というのも、エンジニアが本来の開発に集中でき、自動的に不具合やバグの報告が上がり適宜改善してくれる仕組みこそが、理想の開発環境と言えるからです。
当サイトでおすすめしている3社は、この要件を満たしています。あなたが抱えている課題を、それぞれの会社が持つ「独自の強み」で解決してくれますので、ぜひ依頼先選びの参考にしてみてください。
インストールする際には、互換性を事前に確認しておくことが重要です。ArtilleryとPlaywrightの互換性についても確認することで、トラブルを未然に防ぐことができます。
エンジン | 対応プロトコル/用途 |
---|---|
HTTP | REST/GraphQL/一般 API。GET/POST などの各種メソッドをサポート |
WebSocket | 双方向リアルタイム通信 |
Socket.IO | Socket.IO 独自イベントベース通信 |
Playwright | 本物のヘッドレスブラウザを VU として動かし SPA/PWA のフロントエンド性能を計測 |
エンジン | 実現方法 |
---|---|
SOAP | カスタム JS 関数を使った例が公式サンプルに掲載 |
AWS Kinesis | artillery-engine-kinesis (公式 GitHub で紹介) |
負荷テストサービス会社は数多くありますが、それぞれ得意とする領域は違います。
原因特定力が高くスピーディに解決できる会社もあれば、アフターサポートが手厚い大手ソフトウェアテスト会社、インフラレベルの大規模テスト実績が豊富な会社など、強みも様々。
ここでは代表的な3つのニーズに分けて、おすすめの会社を紹介しています。
\スピーディな負荷改善/
\安心サポート/
\大規模&高負荷/