Home  >  Article  >  Backend Development  >  How to enable slow query log in php

How to enable slow query log in php

PHPz
PHPzOriginal
2023-04-10 09:34:351750browse

PHP is a powerful and popular programming language, and many websites and web applications are written in PHP. The PHP development community provides many useful tools and plug-ins to help developers develop and maintain PHP applications more easily. One such useful tool is the slow query log, which can help developers identify query performance issues and optimize queries.

Enabling PHP slow query log requires some configuration. First, you need to modify the PHP configuration file php.ini. Typically, the php.ini file is located at the root of the PHP installation directory. After opening the php.ini file, find the following settings:

slowlog = /path/to/slow_logs.log

Replace /path/to/slow_logs.log with the path to the file where you want to write the slow query log.

Next, you need to configure the logging level of PHP to record slow queries. Locate the following settings:

error_reporting = ??

Replace ?? with your desired logging level. Here is the full logging level that logs all warnings and errors:

error_reporting = E_ALL

Next, you need to configure the slow query threshold. This means that when the query execution time exceeds the threshold, it will be recorded in the slow query log. Find the following setting:

slow_query_time = ??

Replace ?? with the desired threshold in seconds. The following is an example of setting the threshold to 2 seconds:

slow_query_time = 2

After completing the above settings, you need to restart the web server or PHP interpreter in order to apply the new configuration.

Now, when a slow query is executed, it will be recorded in the slow query log. The following is a simple PHP script example:

<?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>";
    }
?>

When this script is executed, if the query takes more than 2 seconds, it will be recorded in the slow query log and can be tuned and optimized.

In short, by turning on the PHP slow query log, we can better understand the performance issues of the application during the execution phase, and optimize it to improve the performance and reliability of the application.

The above is the detailed content of How to enable slow query log in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn