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.
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
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"
Prestasi fungsi nyahpepijat
Relik Baru menyediakan banyak ciri untuk membantu anda nyahpepijat prestasi fungsi. Ini termasuk:
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; }
调用此函数会导致性能问题。使用 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; }
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. 🎜rreeeeAtas 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!