Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menyahpepijat pemantauan prestasi aplikasi fungsi PHP dengan New Relic?

Bagaimana untuk menyahpepijat pemantauan prestasi aplikasi fungsi PHP dengan New Relic?

WBOY
Lepaskan: 2024-04-23 12:24:02
asal
587 orang telah melayarinya

New Relic ialah alat APM yang membantu menyelesaikan isu prestasi fungsi PHP dan termasuk ciri berikut: Penjejakan transaksi: Menjejaki kitaran hayat permintaan, termasuk masa pelaksanaan fungsi. SQL Query Monitor: Kenal pasti pernyataan SQL yang menyebabkan pertanyaan lambat. Acara tersuai: Ukur prestasi acara tertentu. Dengan analitik, pengguna boleh mengenal pasti dan membetulkan kesesakan, seperti mengoptimumkan fungsi untuk menghalang pertanyaan SQL pendua.

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

Cara menyahpepijat pemantauan prestasi aplikasi fungsi PHP dengan New Relic

New Relic ialah alat Pemantauan Prestasi Aplikasi (APM) yang popular yang membantu anda mengenal pasti dan menyelesaikan isu prestasi yang berpotensi dalam fungsi PHP. Ia menyediakan kebolehlihatan dan keupayaan analisis yang mendalam, membolehkan anda mendiagnosis dan membetulkan kesesakan aplikasi dengan cepat.

Pasang sambungan New Relic

Untuk mula menggunakan New Relic, anda perlu memasang sambungan PHP. Anda boleh menggunakan pemasang Komposer:

composer require newrelic/newrelic-php
Salin selepas log masuk

Dayakan Pemantauan Prestasi Aplikasi

Selepas memasang sambungan, anda perlu mendayakan Pemantauan Prestasi Aplikasi. Anda boleh melakukan ini dengan menambah baris berikut pada fail php.ini anda:

newrelic.appname = "YourAppName"
newrelic.license = "YourLicenseKey"
Salin selepas log masuk

Prestasi fungsi nyahpepijat

Relik Baru menyediakan banyak ciri untuk membantu anda nyahpepijat prestasi fungsi. Ini termasuk:

  • Penjejakan Transaksi: Ciri ini menjejaki keseluruhan kitaran hayat permintaan, termasuk masa yang diperlukan untuk melaksanakan fungsi.
  • SQL Query Monitor: Ciri ini membantu anda mengenal pasti pernyataan SQL yang menyebabkan pertanyaan lambat.
  • Acara Tersuai: Anda boleh menggunakan ciri ini untuk mengukur prestasi acara tertentu dalam kod anda.

Kes Praktikal

Mari kita pertimbangkan contoh penggunaan New Relic untuk nyahpepijat fungsi perlahan yang menyebabkan masalah prestasi. Katakan anda mempunyai fungsi compute_data():compute_data():

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

调用此函数会导致性能问题。使用 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;
}
Salin selepas log masuk
Memanggil fungsi ini akan menyebabkan masalah prestasi. Menggunakan ciri penjejakan transaksi New Relic, anda boleh melihat bahawa fungsi compute_data() mengambil masa yang lama untuk dilaksanakan. Dengan menggunakan SQL Query Monitor, anda boleh melihat bahawa gelung for dalam fungsi sedang melaksanakan sejumlah besar pertanyaan SQL yang tidak diperlukan. 🎜🎜🎜Selesaikan Isu Prestasi🎜🎜🎜Setelah anda mengenal pasti kesesakan yang menyebabkan masalah prestasi, anda boleh mengambil langkah untuk menyelesaikannya. Dalam kes ini, anda boleh mengoptimumkan fungsi compute_data() dengan menggunakan mekanisme caching untuk mengelakkan pertanyaan SQL pendua. 🎜rreeee

Atas ialah kandungan terperinci Bagaimana untuk menyahpepijat pemantauan prestasi aplikasi fungsi PHP dengan New Relic?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan