コンテンツにスキップ

APIが処理する月間リクエスト数の把握

Wallarmの主なライセンス/課金方式は、お客様の環境にデプロイされたWallarmフィルタリングノードが処理するリクエスト量に基づきます。このドキュメントでは、APIが処理するリクエスト数を簡単に把握する方法を説明します。

この情報にアクセスできるチーム

通常、社内の次のチームはこの情報に容易にアクセスできます。

  • DevOps

  • テクニカルオペレーション

  • クラウドオペレーション

  • プラットフォームオペレーション

  • DevSecOps

  • システム管理者

  • NOC

リクエスト数を把握する方法

APIが処理したリクエスト数を確認する方法はいくつかあります。

  • ELBまたはALBのロードバランサーを使用しているAWSのお客様は、ロードバランサーのAWS監視メトリクスを使用して、ロードバランサーで処理されるAPIの1日および1週間あたりのリクエスト量を推定できます:

    AWS監視の例

    たとえば、グラフに1分あたりの平均リクエスト数が350と表示され、平均で1か月は730時間と仮定する場合、月間リクエスト数は350 * 60 * 730 = 15,330,000になります。

  • HTTPロードバランサーを利用するGCPユーザーは、監視メトリクスhttps/request_countを使用できます。このメトリクスはNetwork Load Balancersでは利用できません。

  • Microsoft IISのユーザーは、Requests Per Secメトリクスを用いて秒間平均リクエスト数を把握し、単一のIISサーバーが1か月に処理するリクエスト数を算出できます。計算では、1か月の秒数を平均で730 * 3,600秒と仮定します。

  • New Relic、Datadog、AppDynamics、SignalFXなどのApplication Performance Monitoringサービスのユーザーは、APMコンソールからこの情報を取得できます(エッジ層に関与するすべてのサーバーの集計値であり、単一サーバーのみの値ではないことを確認してください)。

  • Datadog、AWS CloudWatch(そのほか多数)のようなクラウドベースのインフラ監視システム、またはPrometheusやNagiosのような社内監視システムのユーザーは、多くの場合すでにエッジロケーション(ロードバランサー、Webサーバー、APIサーバー)で処理されるリクエスト量を監視しており、その情報を使って月間の平均処理リクエスト数を容易に推定できます。

  • 別のアプローチとして、エッジのロードバランサーやWebサーバーのログを使用し、一定期間(理想的には24時間)のログレコード数を集計します。各リクエストにつき1件のログレコードが出力されることを前提とします。たとえば、このWebサーバーはNGINXのアクセスログファイルを1日ごとにローテーションしており、ログファイルには653,525件のリクエストが記録されています:

    cd /var/log/nginx/
    zcat access.log.2.gz |wc -l
    # 653525
    
    • このサーバーが1か月に処理したリクエストの推定値は653,525 * 30 = 19,605,750です。
    • 使用しているWebサーバーの総数が分かれば、API全体で処理されたリクエスト数を見積もれます。
  • Google Analyticsなどのユーザー体験のトラッキング/モニタリングサービスを利用する純粋なWebアプリケーションの場合、配信されたページ数や埋め込みオブジェクトの総数に関する情報をこれらのサービスから抽出できます。