7章負荷テスト
本書における負荷テストとは、システムを本番運用する前に擬似的に本番システム相当の負荷をかけて不具合を見つけるための試験を指します。負荷テストにおいて大事なことは「任意の人が同じ負荷テストを再現できるシステムを構築すること」と「本番システムでの負荷を基準に試験をすること」です。負荷テストは、システムに変更を加える場合には毎回実施します。また、負荷テスト結果を分析するためには、各種メトリクスを取得できるようにしておく必要があります。
本章では、検索エンジンに対しての負荷テスト環境をどのように構築するかについて、まず負荷テスト用のツールや、そのツールを使う上でどのように環境を整備するかを紹介します。その後、実際に負荷テストを行うときに確認しておくべきメトリクスと、メトリクスの変化から読み取れることをまとめます。
7.1 負荷テスト環境の構築
「負荷テスト環境を構築する」といっても、HTTPリクエストを送信したり、リクエストの送信からレスポンスの受信までの時間(レイテンシー)を測ったりするスクリプトを自前で用意する必要はありません。負荷テスト用の既存のツールがあるため、それらを利用できます。負荷テスト用のツールとしてはApache JMeterやGatling†1が有名です。ドキュメントも整備されていますし、実際に使用した上で書かれた記事をインターネット上で多く見つけられます。
利用するツールを決めたら、負荷テストの条件を再現できる環境を作りましょう。このとき考慮するのは、次のような点です。
- 負荷テスト用のリクエスト
- 負荷テストを実施するときの検索エンジンのインデックス
- 環境のサーバーとネットワークのスペック
- 負荷をかけるときの秒間リクエスト数(目標スループット)、リクエストの並列度 ...
Get 機械学習による検索ランキング改善ガイド ―技術解説とハンズオンで学ぶ機械学習ランキングモデルの導入と改善 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.