ilzrv / laravel-slow-query-detector
Laravel Slow DB Query Detector
v2.1.0
2023-06-03 12:32 UTC
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.5|^10.0
- timacdonald/log-fake: ^2.0
This package is auto-updated.
Last update: 2024-09-03 15:05:05 UTC
README
此包允许您检测代码中执行大量数据库查询的控制器方法,以及查找非常耗时的查询。
要求
- 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许可证