Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membolehkan log pertanyaan perlahan dalam php

Bagaimana untuk membolehkan log pertanyaan perlahan dalam php

PHPz
PHPzasal
2023-04-10 09:34:351698semak imbas

PHP ialah bahasa pengaturcaraan yang berkuasa dan popular, dan banyak tapak web serta aplikasi web ditulis dalam PHP. Komuniti pembangunan PHP menyediakan banyak alat dan pemalam yang berguna untuk membantu pembangun membangunkan dan menyelenggara aplikasi PHP dengan lebih mudah. Satu alat yang berguna ialah log pertanyaan perlahan, yang boleh membantu pembangun mengenal pasti isu prestasi pertanyaan dan mengoptimumkan pertanyaan.

Mendayakan log pertanyaan lambat PHP memerlukan beberapa konfigurasi. Mula-mula, anda perlu mengubah suai fail konfigurasi PHP php.ini. Biasanya, fail php.ini terletak pada akar direktori pemasangan PHP. Selepas membuka fail php.ini, cari tetapan berikut:

slowlog = /path/to/slow_logs.log

Ganti /path/to/slow_logs.log dengan laluan ke fail yang anda mahu tulis log pertanyaan perlahan.

Seterusnya, anda perlu mengkonfigurasi tahap pengelogan PHP untuk merekod pertanyaan perlahan. Cari tetapan berikut:

error_reporting = ??

Ganti ?? dengan tahap pengelogan yang anda inginkan. Berikut ialah tahap pengelogan penuh yang merekodkan semua amaran dan ralat:

error_reporting = E_ALL

Seterusnya, ambang pertanyaan perlahan perlu dikonfigurasikan. Ini bermakna apabila masa pelaksanaan pertanyaan melebihi ambang, ia akan direkodkan dalam log pertanyaan perlahan. Cari tetapan berikut:

slow_query_time = ??

Ganti ?? dengan ambang yang anda inginkan dalam beberapa saat. Berikut ialah contoh menetapkan ambang kepada 2 saat:

slow_query_time = 2

Selepas melengkapkan tetapan di atas, anda perlu memulakan semula pelayan web atau jurubahasa PHP agar konfigurasi baharu boleh digunakan.

Kini, apabila pertanyaan perlahan dilaksanakan, ia direkodkan dalam log pertanyaan perlahan. Berikut ialah contoh skrip PHP mudah:

<?php
    // 随机产生1到5秒的查询时间
    $query_time = rand(1, 5);
    sleep($query_time);

    // 执行查询
    $result = mysqli_query($db_connection, "SELECT * FROM my_table");

    // 输出查询结果
    while ($row = mysqli_fetch_array($result)) {
        echo $row[&#39;name&#39;] . "<br>";
    }
?>

Apabila skrip ini dilaksanakan, jika pertanyaan mengambil masa lebih daripada 2 saat, ia akan direkodkan dalam log pertanyaan perlahan dan boleh ditala dan dioptimumkan.

Ringkasnya, dengan menghidupkan log pertanyaan lambat PHP, kami dapat memahami dengan lebih baik isu prestasi aplikasi semasa fasa pelaksanaan dan mengoptimumkannya untuk meningkatkan prestasi dan kebolehpercayaan aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk membolehkan log pertanyaan perlahan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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