>  기사  >  백엔드 개발  >  New Relic을 사용하여 PHP 함수의 애플리케이션 성능 모니터링을 디버깅하는 방법은 무엇입니까?

New Relic을 사용하여 PHP 함수의 애플리케이션 성능 모니터링을 디버깅하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-04-23 12:24:02561검색

New Relic은 PHP 함수 성능 문제를 해결하는 데 도움이 되는 APM 도구이며 다음 기능을 포함합니다. 트랜잭션 추적: 함수 실행 시간을 포함한 요청 수명 주기를 추적합니다. SQL 쿼리 모니터: 쿼리 속도를 저하시키는 SQL 문을 식별합니다. 맞춤 이벤트: 특정 이벤트 성능을 측정합니다. 분석을 통해 사용자는 중복 SQL 쿼리를 방지하기 위한 기능 최적화 등 병목 현상을 식별하고 수정할 수 있습니다.

如何用 New Relic 调试 PHP 函数的应用程序性能监控?

New Relic을 사용하여 PHP 함수의 애플리케이션 성능 모니터링을 디버깅하는 방법

New Relic은 PHP 함수의 잠재적인 성능 문제를 식별하고 해결하는 데 도움이 되는 널리 사용되는 APM(애플리케이션 성능 모니터링) 도구입니다. 심층적인 가시성과 분석 기능을 제공하므로 애플리케이션 병목 현상을 신속하게 진단하고 해결할 수 있습니다.

New Relic 확장 설치

New Relic 사용을 시작하려면 PHP 확장을 설치해야 합니다. Composer 설치 프로그램을 사용할 수 있습니다:

composer require newrelic/newrelic-php

애플리케이션 성능 모니터링 활성화

확장 프로그램을 설치한 후 애플리케이션 성능 모니터링을 활성화해야 합니다. php.ini 파일에 다음 줄을 추가하면 됩니다:

newrelic.appname = "YourAppName"
newrelic.license = "YourLicenseKey"

함수 성능 디버그

New Relic은 함수 성능 디버깅에 도움이 되는 많은 기능을 제공합니다. 여기에는 다음이 포함됩니다.

  • 트랜잭션 추적: 이 기능은 기능을 실행하는 데 걸리는 시간을 포함하여 전체 요청 수명 주기를 추적합니다.
  • SQL 쿼리 모니터: 이 기능은 쿼리 속도를 저하시키는 SQL 문을 식별하는 데 도움이 됩니다.
  • 사용자 정의 이벤트: 이 기능을 사용하여 코드의 특정 이벤트 성능을 측정할 수 있습니다.

실용 사례

성능 문제를 일으키는 느린 함수를 디버깅하기 위해 New Relic을 사용하는 예를 고려해 보겠습니다. compute_data() 함수가 있다고 가정해 보겠습니다.compute_data():

function compute_data() {
  $data = [];
  for ($i = 0; $i < 10000; $i++) {
    $data[] = $i * $i;
  }
  return $data;
}

调用此函数会导致性能问题。使用 New Relic 的交易追踪功能,您可以发现 compute_data() 函数需要很长时间才能执行。通过使用 SQL 查询监视器,您可以看到函数中的 for 循环正在执行大量不必要的 SQL 查询。

修复性能问题

一旦您识别了导致性能问题的瓶颈,您就可以采取措施解决它。在本例中,您可以通过使用缓存机制来防止重复的 SQL 查询来优化 compute_data()

function compute_data() {
  $data = [];
  if (cache_get('data')) {
    return cache_get('data');
  }
  for ($i = 0; $i < 10000; $i++) {
    $data[] = $i * $i;
  }
  cache_set('data', $data);
  return $data;
}

이 함수를 호출하면 성능 문제가 발생합니다. New Relic의 트랜잭션 추적 기능을 사용하면 compute_data() 함수를 실행하는 데 시간이 오래 걸리는 것을 확인할 수 있습니다. SQL 쿼리 모니터를 사용하면 함수의 for 루프가 불필요한 SQL 쿼리를 많이 실행하고 있음을 확인할 수 있습니다. 🎜🎜🎜성능 문제 수정🎜🎜🎜성능 문제를 일으키는 병목 현상을 식별한 후에는 이를 해결하기 위한 조치를 취할 수 있습니다. 이 경우 중복 SQL 쿼리를 방지하기 위해 캐싱 메커니즘을 사용하여 compute_data() 함수를 최적화할 수 있습니다. 🎜아아아아

위 내용은 New Relic을 사용하여 PHP 함수의 애플리케이션 성능 모니터링을 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.