ilzrv/laravel-slow-query-detector

Laravel Slow DB Query Detector

v2.1.0 2023-06-03 12:32 UTC

This package is auto-updated.

Last update: 2024-09-03 15:05:05 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

此包允许您检测代码中执行大量数据库查询的控制器方法,以及查找非常耗时的查询。

要求

  • PHP 8.0+
  • Laravel 9+

安装

您可以通过composer安装此包

composer require ilzrv/laravel-slow-query-detector

配置

默认情况下,包已经配置并启用,但如果需要,您可以更改设置。要发布配置文件,请运行

php artisan vendor:publish --provider="Ilzrv\LaravelSlowQueryDetector\ServiceProvider"

SQD_ENABLED

确定是否启用查询监听。

SQD_CODE_MAX_QUERIES

处理控制器方法时的最大查询数。如果您的执行查询数超过此值,则会收到通知。

SQD_CODE_MAX_TIME

控制器方法的最大执行时间(毫秒)。如果您的执行时间超过此值,则会收到通知。

SQD_QUERY_BINDINGS

带有绑定符的查询。如果为true,则将绑定符应用到通知中的查询。例如(如果为true):select * from users where name = John 而不是 select * from users where name = ?

SQD_QUERY_MAX_TIME

DB中每个查询的最大执行时间(毫秒)。如果至少有一个查询超过此值,您将收到通知。

示例日志输出

[2020-04-12 06:59:21] production.CRITICAL: Array
(
    [SQD] => Array
        (
            [Execution Time] => 60 ms.
            [Queries Count] => 2
            [Heavy Queries Count] => 2
            [Full URL] => https://example.org/?name=John
            [Action] => App\Http\Controllers\HomeController@index
            [Heaviest Query] => Array
                (
                    [Query] => select * from `users` where `name` = John
                    [Time] => 50.67 ms.
                )

        )
)

许可证

Laravel Slow Query Detector 是开源软件,许可证为MIT许可证