• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページ を参照してください。

問題を作成する

GuzzleのPHPエージェントサポート

New Relic は、 New Relic PHP エージェント バージョン 7.0 以降を使用して、 Guzzle HTTP クライアント ライブラリ のバージョン 3、4、5、6、および 7 をサポートします。

Guzzle ライブラリでは、シーケンシャルおよびパラレルの両方のリクエストが可能です。このページでは、New Relic UI の Summary page で、それぞれのタイプのリクエストがどのように表示されるかを説明しています。どのコールが最も遅かったかを知るには、個々の外部コールのタイミングを表示する External Services ページ をご覧ください。

連続したリクエスト

このPHPコードは、Guzzleで複数のシーケンシャルなリクエストを行います。

$client = new \GuzzleHttp\Client;
$response = $client->get('http://YOUR_SITE.com/api/foo');
$client->delete('http://YOUR_SITE.com/api/foo/'.$response->getBody());

このコードは、New RelicのUIに次のように表示されます。

one.newrelic.com >All capabilities > APM & services > (アプリを選択) > Overview > Web transactions time: New Relic UI の Guzzle を使用した連続リクエスト。

応答時間は紺色の線で示されています。緑のWeb外部時間は、Guzzleライブラリで費やされた時間を表します。リクエストは順番に行われたため、応答時間はPHP、MySQL、およびWebの外部アクティビティに費やされた合計時間同じです。

並列リクエスト

このPHPコードは、プロミスの配列をアンラッピングすることで、複数のリクエストを並行して行います。

$client = new \GuzzleHttp\Client;
$promises = [
$client->getAsync('http://YOUR_SITE.com/api/foo'),
$client->getAsync('http://YOUR_SITE.com/api/bar'),
$client->getAsync('http://YOUR_SITE.com/api/quux'),
];
\GuzzleHttp\Promise\unwrap($promises);

このコードは、New RelicのUIに次のように表示されます。

one.newrelic.com >All capabilities > APM & services > (アプリを選択) > Summary > Web transactions time: New Relic UI の Guzzle を使用した並列リクエスト

緑色の web external の時間 は、Guzzle ライブラリに費やされた時間を表しています。リクエストは非同期に実行されたため、 PHP、MySQL、web externalに費やされた合計時間 は、 応答時間よりも大きい

Guzzle 6 と 7 のタイミング

以前のバージョンとは異なり、Guzzle 6 および 7 はリクエストの送信時にイベントを生成しません。代わりに、エージェントはリクエスト オブジェクトの作成時にリクエストのタイミングを開始します。リクエストオブジェクトが作成され、送信前に追加の作業が行われた場合、New Relic はリクエストに実際よりも時間がかかったと報告することがあります。

ガズルのサポートを無効にする

ガズルのサポートを無効にするには

  1. newrelic.guzzle.enabled = falsenewrelic.iniファイルに追加します。
  2. Webサーバー (Apache、Nginx、PHP-FPMなど)を再起動します。
Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.