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

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

9.0의 새로운 기능

분산 추적이 활성화되면 이제 상세한 트랜잭션 트레이스를 사용할 수 있습니다.

이번 릴리스에는 에이전트가 분산 추적 대신 트랜잭션 트레이스에 사용되는 세그먼트를 정렬하고 다른 우선순위를 적용할 수 있도록 세그먼트 스토리지의 리팩터링이 포함되어 있습니다. PHP 에이전트 8.4 릴리스에는 분산 추적에 대한 제한적인 지원이 포함되어 있어, 분산 추적이 활성화되었을 때 개별 PHP 서비스에 대한 상세한 트랜잭션 트레이스가 손실되는 결과가 발생했습니다.

이 새로운 릴리스의 리팩터링을 통해 에이전트는 PHP 서비스가 포함된 분산 트레이스에 대해 보고자 하는 세그먼트(스팬)를 전송할 수 있습니다. 또한 개별 PHP 서비스에 대한 트랜잭션 트레이스를 탐색할 때 가능한 한 많은 세그먼트 세부 정보를 별도로 제공합니다.

메모:

  • 이번 릴리스에서는 분산 추적을 활성화하는 지침이 변경되지 않았습니다.
  • 분산 추적이 켜져 있을 때 newrelic.transaction_tracer.detail의 동작이 변경되었습니다. 8.4~8.7 PHP 에이전트 릴리스에서는 분산 추적이 활성화되었을 때 newrelic.transaction_tracer.detail이(가) 비활성화되었습니다. 더 이상 그렇지 않습니다. 자세한 내용은 분산 추적 사용 시 트레이스 수준 세부 정보 설정에 대한 문서를 참조하십시오.
  • 분산 추적에 대한 향상된 지원을 활성화하기 위해 9.0에서 PHP 에이전트의 메모리 할당 전략이 변경되었습니다. 트랜잭션이 시작될 때 PHP 에이전트는 메모리를 더 적극적으로 할당하며, 운영 시스템 커널 및 C 라이브러리의 설정에 따라 시스템 할당자가 해당 메모리를 운영 시스템에 즉시 다시 해제하지 않도록 선택할 수 있습니다. 결과적으로 PHP 프로세스의 메모리 사용량이 이전 버전의 PHP 에이전트보다 더 높을 수 있습니다.

9.0 업그레이드 공지

이러한 분산 추적 개선 사항과 함께 임계값을 확인해 주십시오.

  • 8.4~8.7 PHP 에이전트 릴리스에서는 경량 PHP 서비스가 트레이스의 일부인 경우에도 에이전트가 완전한 분산 트레이스를 보고하도록 고객이 newrelic.transaction_tracer.threshold = 0을(를) 설정할 것을 권장했습니다. 이는 더 이상 필요하지 않습니다.
  • 9.0 릴리스로 업그레이드할 때 newrelic.transaction_tracer.threshold 설정을 검토하고 이 값을 기본값 또는 애플리케이션에 적합한 더 높은 값으로 되돌릴 것을 권장합니다.

이제 시작 시 루트 인증서 번들을 찾을 수 없으면 데몬에서 경고를 발생시킵니다.

  • 데몬은 자체 인증서를 포함하고 있으며 계속 작동하지만, 향후 버전의 PHP 에이전트에서는 내장 인증서를 제거합니다. 그 시점이 되면 PHP 에이전트는 뉴렐릭의 서버와 통신할 수 없게 됩니다.
  • 권장 사항: PHP 에이전트를 사용하기 전에 호스트 또는 컨테이너에 루트 인증서 번들이 설치되어 있는지 확인하십시오. 이는 일반적으로 대부분의 Linux 배포판에서 ca-certificates 패키지로 제공됩니다. FreeBSD에서는 포트의 security/ca_root_nss 패키지를 통해 번들을 사용할 수 있습니다.

데몬은 더 이상 --tls 플래그로 호출할 수 없습니다.

  • PHP 에이전트 버전 8.0.0부터 보안을 강화하기 위해 newrelic.daemon.ssl ini 설정이 제거되었지만, 여전히 --tls true을(를) 사용하여 명령줄에서 데몬을 호출할 수 있었습니다. --tls 플래그를 사용한 데몬의 명령줄 호출은 실패합니다.
  • 8.0.0 이후의 모든 PHP 에이전트 버전과 마찬가지로, 뉴렐릭 서버와의 통신에는 항상 TLS가 사용됩니다.

버그 수정

  • PHP 7.3에서 drupal_http_request을(를) 사용할 때 발생할 수 있는 세그폴트가 수정되었습니다.
  • 경우에 따라 요청 중(newrelic_start_transaction 또는 newrelic_set_appname을(를) 통해) 새 트랜잭션을 시작하면 프레임워크 및 사용자 기능 계측이 불완전한 상태가 될 수 있습니다.
  • SQL을 난독화할 때 SQL 자체의 손실 없이 주석이 제거됩니다.
  • 클러스터링된 연결에서 동기식 executeCommand() 코드 경로(예: HSET)를 사용한 Predis 0.8 명령은 메트릭을 생성하지 않았습니다. 이 문제가 수정되었습니다.

알려진 이슈 및 해결 방법

장기 실행 트랜잭션에 대한 잠재적인 메모리 고갈

PHP 에이전트 9.x는 트랜잭션 중 함수 호출 및 세그먼트를 추적하는 데 사용되는 메모리를 해제하는 데 덜 적극적이므로 이전 버전보다 더 많은 메모리를 사용합니다. 일반적인 경우 메모리는 각 트랜잭션이 끝날 때만 해제됩니다.

이는 주로 메시지 대기열 처리, 데이터 변환 또는 보고, 이메일 전송과 같은 백그라운드 작업 등 장기 실행 트랜잭션이 있는 사용자에게 나타나는 경향이 있습니다.

이 문제로 인해 불편을 끼쳐 드려 죄송하며, 문제를 해결하기 위해 적극적으로 노력하고 있습니다. 단기적으로 이 문제를 완화할 수 있는 네 가지 잠재적인 해결 방법이 있습니다.

해결 방법:

  • 1. 수동으로 트랜잭션을 시작/중지하십시오. 영향을 받는 트랜잭션이 메시지 대기열 소비자와 같이 일련의 반복적인 프로세스를 수행하는 트랜잭션인 경우, 각 반복을 별도의 트랜잭션으로 수동으로 계측할 수 있습니다. 이는 프로세스가 어떻게 작동하는지에 대한 더 세분화된 데이터를 제공합니다. 이렇게 하면 각 트랜잭션 후에 사용된 메모리가 해제됩니다. 이를 구현하려면 newrelic_end_transaction(true)을(를) 사용하여 초기 자동 트랜잭션을 무시한 다음, newrelic_start_transaction()newrelic_end_transaction()을(를) 사용하여 각 트랜잭션을 차례로 계측합니다.
  • 2. 트랜잭션 트레이스 세부 정보를 줄입니다. PHP 7.4가 즉시 필요하거나 PHP 에이전트 9.x 릴리스에 추가된 기능이 필요하며, 데이터스토어 및 외부 호출에 대한 정보만 포함된 트레이스로 충분한 경우, 다음 설정을 변경하여 PHP 에이전트가 캡처하는 세부 정보 수준을 줄일 수 있습니다: newrelic.transaction_tracer.detail = 0. 이 설정을 사용하면 트레이스에 더 이상 PHP 함수 호출이 포함되지 않습니다. 참고: 수십만 개의 데이터스토어 또는 외부 호출을 수행하는 트랜잭션은 여전히 메모리 문제의 영향을 받을 수 있습니다.
  • 3. PHP 에이전트 8.7로 다운그레이드합니다. PHP 7.4를 즉시 사용할 의도가 없다면 이것이 가장 간단하고 빠른 해결책일 것입니다. 다운그레이드하려면 https://download.newrelic.com/php_agent/archive/8.7.0.242/의 tarball에서 설치하거나 패키지 매니저에서 버전 8.7.0.242로 다운그레이드하고 해당 버전을 고정할 수 있습니다. PHP 에이전트 8.7에서 분산 추적이 활성화된 경우 트랜잭션 트레이서 세부 정보가 자동으로 축소됩니다(다음 옵션에 따름).
  • 4. 생성되는 함수 세그먼트 수 제한 (PHP 에이전트 9.x 유지). 이는 “트랜잭션 트레이스 세부 정보 감소” 옵션과 유사하지만, 캡처되는 함수 수에 비례하여 메모리 사용량이 증가하는 대신 제한된 수의 PHP 함수 호출을 트레이스할 수 있습니다. (대략적인 경험 법칙으로 각 세그먼트는 약 320~400바이트의 힙을 필요로 합니다.) 처음 5,000개의 함수 호출을 캡처하려면 다음 설정을 추가합니다: newrelic.transaction_tracer.max_segments = 5000. 이 설정을 사용하면 설정된 함수 호출 수 이후의 모든 PHP 함수는 무시됩니다. 참고: 수십만 개의 데이터스토어 또는 외부 호출을 수행하는 트랜잭션은 여전히 메모리 문제의 영향을 받을 수 있습니다.

**참고: 이러한 옵션에 대한 더 자세한 설명은 Explorer’s Hub 게시물에서 확인할 수 있습니다.

Copyright © 2026 New Relic Inc.

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