2021/06/25

サーバー負荷テストを自社で実施するか、他社に委託するか

サーバーの負荷テストを視野に入れている企業様は、まず「自社で実施するか」「委託するか」を検討されると思います。
技術支援系のサービス全般に言えることですが、自分たちの時間を使うか、お金を使って時間を買うか。今回は、この選択について開発会社の視点からフラットに考察します。
委託先は負荷テストを事業として取り組んでいる企業を想定し、実際に自分たちでやる場合と委託する場合でどのような違いがあるのかを紹介します。

サーバーの負荷テストで発生する作業分類とは?

まずは負荷テストで発生する作業を以下のように分類しました。(*1)

  1. ツールを選定する。
  2. シナリオを作成する。
  3. 試験を実施する。
  4. 結果を評価する。
  5. 報告書を作成する。

それぞれの作業について、自社か委託かでどう違うかを見ていきます。
*1: 実際にはこれ以外の作業が発生することもあります。また比較しづらい作業は除外しています。

1.ツールを選定する

a.自社の場合
基本的には利用経験のあるツールを選択するのが良いと思います。未経験であれば、ウェブで検索するなどして使いやすいと思えるものを選びます。以下の記事でおすすめツール比較をしていますので、参考にしてみてください。
参考記事:負荷テストのプロが負荷テストツール7つをレビュー


b.委託の場合
試験の実作業を委託先が手掛けるため、どのツールを使うかは意識しなくて良いようになっていることが殆どです。実際には、各社選定済みのツールを利用することが多いです。試験内容によって複数のツールを使い分ける会社もあります。(Hedgehogは自社製品を利用しています。)

2.シナリオを作成する

a.自社の場合
ツールが提供する方法に従って作成します。未経験であればツールについて学ぶ必要があります。また、負荷が初めてであれば、適切な負荷テストの方法論についても学習が必要になります。特にどのようなシナリオを作成すべきかについては効果・効率を求めて試行錯誤が必要になると思います。

b.委託の場合
どのようなシナリオが良いかを話し合って決めます。作成作業は委託先がすべて実施することがほとんどです。テスト用アカウントの提供などは必要に応じて求められます。

3.試験を実施する

a.自社の場合
負荷テスト用サーバをセットアップし、ツール・シナリオを配備します。かける負荷のボリュームによってはサーバのチューニング(ulimitの変更やカーネルパラメータの変更等)や、複数台のサーバが必要(ツールに応じて、複数台用のセットアップが必要になることもあります。)になったり、狙った負荷がかからない場合の対応などハマりどころの多い作業になります。

b.委託の場合
委託先がすべてやる場合が殆どです。性能が十分でない場合はアドバイスをもらえることもあります。

4.結果を評価する

a.自社の場合
試験によって得られたデータ・指標をもとに結果を判断します。性能が不足している場合は改善(アプリケーション改修、インフラ増強etc)し、再度試験を実施します。

b.委託の場合
結果の判断を委託先と一緒に評価します。各指標についての解説や、アドバイスをもらうことができます。

5.結果を報告する

a.自社の場合
試験で得られたデータ・指標をまとめて報告書を作成します。

b.委託の場合
委託先が作成することが多いです。

以上が、作業毎の違いです。
また、当社提供の負荷テストツール『Hedgehog』を用いた実例も紹介しています。こちらの記事を読めばかなりイメージも湧きやすいと思うので、ぜひご覧ください。
参考記事:サーバー負荷テストの実例と活用法

まとめ

自社でやるメリットは、負荷テスト・ツールに対する知見や資産を蓄積できることです。ただしそれらは使わなければ錆びていきますので、定期的に負荷試験をやっていくのでなければあまりおすすめできません。
逆に定期的にやっていくのであれば自社でやるメリットを活かせると思います。デメリットは学習コストがかかることです。これを許容し、定期的に負荷テストをやっていくのであれば、自社でやるのはありだと言えます。
委託するメリットは、時間の節約と委託先のノウハウを利用できることです。負荷テストはその性質上、開発計画の後半に予定されるため時間をかけられないケースが多いです。このような場合では比較的短期間で対応できる委託先を利用するのが良いと思います。また、前述の各作業において、委託先のノウハウ(シナリオ、評価方法、報告フォーマットなど)をある程度は学べますので、負荷テストの経験がない場合や、自信が持てない場合にはおすすめできます。
自社か委託か、状況に応じて選んでいきましょう。

一覧へ