ページを選択

TestRail サーバーの最適化

TestRail はそのままでも高い性能を発揮できるよう設計されていますが、TestRail のパフォーマンスを最適化するための手段がいくつかあります。そのうち一部は実装が比較的簡単です (HTTP 圧縮を有効にする、高速なウェブ ブラウザーを使用するなど)。その他、専用のアプリケーション サーバーの使用やデータベースのパフォーマンスの最適化などの手段は、通常、大規模なインストール (100ユーザー以上) の場合、または多数の同時リクエストが想定される場合にのみ必要です。

このガイドでは、最適化手法について説明し、TestRail から最高のパフォーマンスを引き出すための推奨サーバー仕様を提示します。パフォーマンス最適化のヒントと推奨設定は、ハードウェア最適化、ソフトウェア設定、およびクライアント マシンの 3 つのセクションにまとめられています。

ハードウェアの最適化と推奨仕様

TestRail の標準インストールでは、通常、特別なサーバー仕様やハイエンド ハードウェアを使用する必要はありません。たとえば、多くのチームは TestRail を共有のアプリケーション サーバーまたは仮想マシンにインストールしています。ただし、TestRail にハイエンド サーバーを使用する予定がない場合でも、サーバーが最近の標準的なハードウェア仕様を満たし、妥当な量の RAM が搭載されていることを確認するのは、最適なパフォーマンスを得るための最初のステップとして役に立ちます。

いっぽう、大規模なインストールに対して推奨されるように、TestRail 専用のサーバーを構築する場合は、サーバー コンポーネントを選択する際、パフォーマンスを最適化するために考慮するべき選択肢がいくつかあります。目標は、3 つの一般的なパフォーマンスのボトルネック (CPU、RAM、I/O) のすべてを最適化することです。1 つのコンポーネントだけに集中するのではなく、3 つのコンポーネントすべてを等しく最適化することをお勧めします。そのため、通常は、最新のハイエンド CPU を選択して RAM が少なくなるよりは、手ごろな価格の CPU とより多くの RAM + RAIDカードを選択することが TestRail のアプリケーション サーバーにとっては良い考えです。

デフォルトでは、以下のテスト ステータスを設定できます。

CPU

TestRail は複数のリクエストを同時に処理でき、通常は Web サーバーとデータベース サーバーの両方を同じマシンでホストするため、サーバー システムが複数のコアまたは CPU を備えていると、TestRail にメリットがあります。したがって、4 コア以上の最新の CPU を1つ以上使用することは、TestRail が多数のリクエストを並行して処理できるようにするのに良い方法です。少数のリクエストだけを同時に処理する予定の場合 (通常、API を過度に使用しないかぎり、ほとんどの TestRail のインストールはこれに該当します)、コア/ CPU を少なく抑え、より高速の CPU を選択することがより良い選択肢です。

RAM

大規模なインストールでも、Web サーバーとアプリケーションはそれほど RAM を必要としません (一般的な経験則として、システム用に 1〜2 GB、同時処理するリクエスト数に応じて 1 リクエストにつき 100 MB 程度がお勧めです)。一方、データベースは使用可能な RAM が増えると大きなメリットがあります。データベースのレスポンスを高速にするには、サーバーが TestRail のデータベース全体をメモリに保存できることが理想です (アップロードされた添付ファイル、レポート、スクリーンショットはデータベースに保存されないので、この計算では無視できます)。私たちの経験では、通常、大規模なインストールにはデータベースと Web サーバーに合わせて 8GB の RAM を用意するのが適しています。利用可能な RAM を最大限に活かすには、下の推奨データベース設定に従ってください。

I/O

TestRail は非常に書き込みが多いアプリケーションであるため (テスターは通常、かなりの数のテスト結果を送信し、新しいケースを追加し、テスト計画を再構築します)、通常は I/O (ディスク) パフォーマンスが最大のボトルネックになります。仮想マシンでは I/O パフォーマンスがかなり低下するため、仮想マシンを使用してアプリケーションをホストすることの最大のデメリットもこの点にあります。経験則として、より高速なサーバー ディスク (10K または 15K RPMドライブ) を使用することをお勧めします。SSD ドライブまたは高性能なサーバー フラッシュ IO カードにデータベースを格納することも検討にあたいします。RAID カードと複数のディスク ドライブも、データベースのパフォーマンスを向上させるのに役立ちます。最高のパフォーマンスを得るには、書き込みキャッシュを有効にした RAID カードを使用するとパフォーマンスが大幅に向上します。重要:このような設定は、必ずバッテリー バックアップ ユニット (BBU) と組み合わせて、また同様の設定に関して十分な経験がある場合にだけ使用してください。さもないと、書き込みキャッシュは停電の際にデータベースの破損につながる可能性があります。それでも、データベースのパフォーマンスを大幅に向上させる可能性があるため、RAID 書き込みキャッシュ+ BBUを使用する価値はあります。

TestRail はネットワーク経由 (LAN またはインターネット経由)でアクセスされるため、TestRail サーバーに高速で接続出来れば、良好なパフォーマンスが得られると考えられます。

ソフトウェア設定と構成

TestRail はデータをデータベースに格納する PHP Web アプリケーションであるため、データベース、Web サーバー、PHPなどのさまざまなコンポーネントにおいて、さまざまなレベルでパフォーマンスを最適化できます。このセクションでは、TestRail のパフォーマンスを最適化するために使用できるいくつかの設定について説明し、推奨事項を提示します。

オペレーティング システムとサービス

オペレーティング システムの最適化については詳しく説明しませんが (どんなサーバーでも OS の最適化を行うべきであるのは当然です)、TestRail が問題なく動作することがわかっている環境をお勧めします。TestRail は Linux と Windowsの両方の環境で問題なく動作します。したがって、Windows Serverを使用したい場合は、これも非常に良い選択です。

Windows ではなく Linux を使用したい場合、Linux の特定のディストリビューションにこだわらないのであれば、通常、Apache と MySQL を備えた Ubuntu 16.04 LTS を使うことをお勧めします。

Linux と Windows のどちらでも、PHP 7.0 以降を使用することをお勧めします。これは、以前のバージョンの PHP と比べてパフォーマンスが向上しているためです。

MySQL InnoDB バッファー

MySQL を使用する場合、デフォルトの設定は、通常、数 MBのデータベース用に最適化されているため、MySQL のデフォルト設定を変更することが重要です。InnoDB ストレージ エンジンを多用する大規模データベース (TestRail はこれに該当します) 用に MySQL を最適化する最も簡単な方法は、InnoDB のバッファー プールに大量のメモリを割り当てることです。そうすると、MySQL は TestRail のデータベースをメモリに保持し、読み取りクエリーを大幅にスピードアップすることができます。InnoDB のバッファー プール サイズを設定するには、MySQL の設定ファイル (通常は /etc/mysql などにある my.cnf) に次の行を追加します。

innodb_buffer_pool_size=4096MB

上記の設定は InnoDB のバッファー プールに 4GB のメモリを割り当てます。一般に、できるだけ多くのメモリをバッファー プールに割り当てるべきです。8GB のメモリを搭載した TestRail 専用のマシンでは、通常、4GB-6GB のメモリを InnoDB のバッファー プールに割り当てることができます。

SQL Server は、必要に応じてできるだけ大きな未使用のメモリをバッファー プールに割り当てるため、SQL Server データベース サーバーのバッファー プールを設定する必要はありません。

HTTP 圧縮

HTTP 圧縮を有効にすることは、Web アプリケーションのパフォーマンスを向上させるための簡単で効果的な方法です。さまざまな Web サーバーで HTTP 圧縮を有効にする方法については、次の記事を読んでください。

HTTP キャッシング

スタイル シートや JavaScript ファイルなどの静的ファイルの HTTP キャッシュを有効にすることも有効です。TestRail は各バージョン固有の URL を使用する (スタイル シートおよび JavaScript のリクエストに現在のビルドバージョンを追加する) ため、TestRail をアップデートしたときは、Web ブラウザーでこれらのファイルを更新する必要があります。TestRail は、画像ファイルのリクエストにはバージョン固有の文字列を追加しないため、画像ファイルの (長期間の) キャッシュを有効にすることはお勧めできません。

PHP キャッシング

PHP はインタープリター言語であり、非常に高速ですが、PHP キャッシュをインストールすることで PHP のパフォーマンスをさらにある程度向上させることができます。ただし、現時点では TestRail は APC でのみテストされており、現時点で推奨されるのはこの構成だけです。通常、APC のインストールはディストリビューションのパッケージ マネージャを使って行うことができます。

Windows の設定

Windows サーバーに TestRail をインストールして使用する場合は、FastCGI を使用するように PHP と IIS を構成することを強くお勧めします。これにより、最高のパフォーマンスと安定性が得られます。また、Non-Thread-Safe (NTS) 版の PHP を使用することをお勧めします。インストール ガイドの指示に従って Windows に PHP をインストールした場合は、推奨設定がすでに使用されています。

ハードウェアの最適化と推奨仕様

TestRail サーバーが非常に高速であっても、遅い Web ブラウザーを使用していると、TestRail のユーザー インターフェイスの応答とロード時間が非常に遅くなる場合があります。TestRail 用にクライアント マシンや Web ブラウザーを最適化する場合の推奨事項については、以下を参照してください。

Web ブラウザー

最近の Web ブラウザーはリリースごとに高速化しています。特に、Web ブラウザー ベンダーが新しいスクリプト実行手法や技術を開発するにつれて、JavaScript エンジンは高速化しています。そのため、最新のバージョンの Web ブラウザーを選択することが重要です。Internet Explorer 9 は IE 8 や IE 7 より高速です。同様に、Firefox 4.0 は Firefox 3.x より高速です。一般的に Google Chrome が最速の Web ブラウザであるため、Web アプリケーションへのアクセスと操作に Google Chrome を使用することをお勧めします。

Web ブラウザー プラグイン

特定の Web ブラウザー プラグインを使用すると、Web ブラウザーの速度が著しく低下することがあります。たとえば、FireBug などのデバッグ用プラグイン、または NoScript、AdBlock などのプラグインは、JavaScript を多用するアプリケーションの処理を遅くする可能性があります。最高のパフォーマンスを得るには、一般的な Web サーフィン用には、Web アプリケーションへのアクセスに使用するものとは異なる Web ブラウザーを使用するとよいでしょう (たとえば、Web サーフィン用に Firefox を使用し、Web アプリケーション用に Google Chrome を使用するなど)。