• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Guzzle에 대한 PHP 에이전트 지원

New Relic은 New Relic PHP 에이전트 버전 7.0 이상을 사용하여 Guzzle HTTP 클라이언트 라이브러리 버전 3, 4, 5, 6, 7을 지원합니다.

Guzzle 라이브러리는 순차 및 병렬 요청을 모두 허용합니다. 이 페이지에서는 각 유형의 요청이 New Relic UI의 요약 페이지 에 어떻게 표시되는지 설명합니다. 가장 느린 호출을 찾으려면 개별 외부 호출에 대한 타이밍을 표시하는 외부 서비스 페이지 를 확인하십시오.

순차적 요청

이 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 capabilties > APM & services > (앱 선택) > Overview > Web transactions time: New Relic UI에서 Guzzle을 사용한 순차적 요청.

응답 시간 은 진한 파란색 선으로 표시됩니다. 녹색 웹 외부 시간 은 Guzzle 라이브러리에서 보낸 시간을 나타냅니다. 요청이 순차적으로 이루어지기 때문에 응답 시간은 PHP, MySQL 및 웹 외부 활동에 소요된 총 시간 과 동일 합니다.

병렬 요청

이 PHP 코드는 Promise 배열을 풀어서 여러 요청을 병렬로 만듭니다.

$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 capabilties > APM & services > (앱 선택) > Summary > Web transactions time: New Relic UI에서 Guzzle을 사용한 병렬 요청

녹색 웹 외부 시간 은 Guzzle 라이브러리에서 보낸 시간을 나타냅니다. 요청이 비동기적으로 수행되었기 때문에 PHP, MySQL 및 웹 외부에서 보낸 총 시간 은 응답 시간 보다 큽니다 .

Guzzle 6 및 7을 사용한 타이밍

이전 버전과 달리 Guzzle 6 및 7은 요청이 전송될 때 이벤트를 생성하지 않습니다. 대신 에이전트는 요청 개체가 생성될 때 요청 시간을 측정하기 시작합니다. 요청 객체가 생성되고 보내기 전에 추가 작업이 수행되면 New Relic은 요청이 실제보다 오래 걸렸다고 보고할 수 있습니다.

Guzzle 지원 비활성화

Guzzle 지원을 비활성화하려면:

  1. newrelic.ini 파일에 newrelic.guzzle.enabled = false 을(를) 추가합니다.
  2. 웹 서버(Apache, Nginx, PHP-FPM 등)를 다시 시작합니다 .
Copyright © 2024 New Relic Inc.

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