• English日本語한국어
  • ログイン今すぐ開始

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

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

問題を作成する

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

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

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 > APM & サービス > (アプリを選択) > 概要 > Web トランザクション時間: 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 > APM & サービス > (アプリを選択) > 概要 > Web トランザクション時間: New Relic UI での Guzzle による並列リクエスト

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

銃口とのタイミング 6

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

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

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

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

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