リクエスト キュー レポーティングを設定する
リクエスト キュー レポーティングを設定する

リクエスト キュー レポーティングを設定する

リクエスト キュー レポーティングを設定する

リクエストキューイングは、リクエストが(エージェントが存在する)アプリケーションに届く前に発生します。ゆえに、この機能を活用するためにエージェントと本番サーバーの簡単な設定をする必要があります。

 

HTTPヘッダー

リクエストキューイングを報告するため、New Relicエージェントの多くはフロントエンドWebサーバー(ApacheやNginx等)もしくはロードバランサー(HAProxyもしくはF5等)に設定されたHTTPヘッダーに依存します。このようなフロントエンドサーバーは、リクエストが最初に本番インフラストラクチャに入った時を代表するHTTPヘッダーのタイムスタンプを設定することで、設定可能です。

リクエストがインフラストラクチャに入った後、できるだけ早くこのヘッダーを設定すると、ヘッダーが設定する前に発生するようなインフラストラクチャのパフォーマンス問題は起こりにくくなります。

多くのNew Relicエージェントは『X-Queue-Start』もしくは『X-Request-Start』ヘッダーを、リクエストキューイングを計算するために解釈および使用します。エージェントはこのようなヘッダーを同様に扱います。『MICROSECONDS_SINCE_EPOCH』がUnixエポック(例えば、1970年1月1日)の始まりから経過したマイクロ秒の数の整数値であるよう、『t=MICROSECONDS_SINCE_EPOCH』 フォーマットに値を含んでください。
ほとんど全てのフロントエンドHTTPサーバーもしくはロードバランサーに、このヘッダーを追加するよう設定可能です。追加の詳細は、特定のエージェントやサーバー設定に依存します。

 

Java、Node.js、Python、Ruby agent

最新のJava、Node.js、《Python》、Ruby agentは『X-Request-Start』もしくは『X-Queue-Start』ヘッダーのフォーマットに、より柔軟性を提供しています。このようなエージェントでは整合値もしくは浮動小数点値として、タイムスタンプを秒、ミリ秒、マイクロ秒でサブミットすることができます。また、このようなエージェントではヘッダー値の先頭の『t=』を省くこともできます。

 

大きさ順によって、エージェントは自動的に時間ユニットを秒、ミリ秒、マイクロ秒に解釈します。マイクロ秒に解釈されたミリ秒タイムスタンプは40年以上のキュー時間となるため、New Relicでもこれは可能です。

 

注意:New Relic Python agentでは、Apache/mod_wsgi 3.4以降を使用している場合、mod_wsgiが自動的に『X-Queue-Start』ヘッダーと同等のものを各リクエストのWSGI environ dictionaryに挿入します。これは、Apacheが最初にリクエストを受諾した特定の時間を記録します。mod_wsgiによって設定された値は、別の『X-Request-Start』もしくは『X-Queue-Start』 ヘッダーが主導的にWebサーバーのフロントエンドもしくはApache自体に設定されていなければ、ピックアップされ、Python agentによって使用されます。

 

.NET agent

.NET agentはキュー時間の計算のために、httpヘッダーの設定を必要としません(無視します)。IISキューイングメカニズムを直接使用し、キュー時間をHttpContext constructorが実行する時と、『HttpApplication.BeginRequest』イベントが起こる時の差として、報告します。

 

PHP agent

PHP agentは 『X-Request-Start』および『HTTP_X_REQUEST_START』 のどちらもヘッダーとしてサポートします。これは、マイクロ秒のタイムスタンプを整合として特定します。ヘッダーが正しく設定されているかどうか確認するには、PHP変数セクション配下の『phpinfo()』を確認し、『_SERVER[“HTTP_X_REQUEST_START”]』を確認してください。

Nginxを使用している場合は、リクエスト キュー サーバー設定例のヘッダー設定に関する追加情報をご覧ください。

関連情報

設定に関する追加の情報に関しては、特定のエージェントドキュメンテーションをご覧ください。追加のドキュメンテーションリソースは次のとおりです。

  • リクエストキューイングとフロントエンド時間の追跡(New Relicユーザーインターフェースのリクエストキュー情報表示とクロックスキュー構成の概要)
  • リクエスト キュー サーバー設定例(リクエストキューHTTPヘッダーをApache、Nginx、Varnish、F5ロードバランサー等で設定します)

New Relic オンラインテクニカルコミュニティーでの New Relic APMに関するディスカッションにぜひご参加ください ! テクニカルコミュニティーはNew Relicツールセットについて議論し、トラブルシューティングを行うための公開プラットフォームです。

PROプランのすべての機能を
14日間無料でお試し

新規無料登録いただくとPROプランのすべての機能を
14日間無料でお試しいただけます。
クレジットカードなど決済情報の登録は不要です。

各プランの詳細はこちらからご確認ください。