Laravel Slower 使用教程
项目介绍
Laravel Slower 是一个专为 Laravel 开发者设计的强大包,旨在通过 AI 优化数据库查询,提升应用性能。该包能够智能识别慢速数据库查询,并利用 AI 提供最佳索引策略和其他性能改进建议。无论是调试还是日常监控,Laravel Slower 都能提供可操作的洞察,以优化数据库交互。
项目快速启动
安装
通过 Composer 安装 Laravel Slower 包:
composer require halilcosdu/laravel-slower
发布配置文件
发布配置文件以便进行自定义设置:
php artisan vendor:publish --tag="slower-config"
配置文件示例
以下是发布的配置文件内容示例:
return [
'enabled' => env('SLOWER_ENABLED', true),
'threshold' => env('SLOWER_THRESHOLD', 10000),
'resources' => [
'table_name' => (new SlowLog)->getTable(),
'model' => SlowLog::class,
],
'ai_recommendation' => env('SLOWER_AI_RECOMMENDATION', true),
'recommendation_model' => env('SLOWER_AI_RECOMMENDATION_MODEL', 'gpt-4'),
'recommendation_use_explain' => env('SLOWER_AI_RECOMMENDATION_USE_EXPLAIN', true),
'ignore_explain_queries' => env('SLOWER_IGNORE_EXPLAIN_QUERIES', true),
'ignore_insert_queries' => env('SLOWER_IGNORE_INSERT_QUERIES', true),
'open_ai' => [
'api_key' => env('OPENAI_API_KEY'),
'organization' => env('OPENAI_ORGANIZATION'),
'request_timeout' => env('OPENAI_TIMEOUT'),
],
'prompt' => env('SLOWER_PROMPT', 'As a distinguished'),
];
注册命令
在 app/Console/Kernel.php
文件中注册命令:
protected $commands = [
\HalilCosdu\Slower\Commands\AnalyzeQuery::class,
\HalilCosdu\Slower\Commands\SlowLogCleaner::class,
];
使用命令
清理旧记录:
php artisan slower:clean
分析未分析的记录:
php artisan slower:analyze
应用案例和最佳实践
案例一:优化慢查询
假设你的应用中有一个查询非常慢,Laravel Slower 可以自动识别并提供优化建议。例如,通过 AI 推荐的索引策略,可以显著减少查询时间。
案例二:定期监控
通过设置定时任务,定期运行 slower:analyze
命令,可以持续监控数据库性能,确保应用始终保持最佳状态。
典型生态项目
Laravel Telescope
Laravel Telescope 是一个调试助手,可以与 Laravel Slower 结合使用,提供更全面的应用性能监控。通过 Telescope 的详细日志,可以更深入地了解应用的运行状况,并与 Laravel Slower 的优化建议相结合,进一步提升性能。
Laravel Horizon
Laravel Horizon 是一个队列监控工具,也可以与 Laravel Slower 配合使用。通过监控队列性能,可以发现潜在的性能瓶颈,并利用 Laravel Slower 的 AI 优化建议进行改进。
通过以上模块的介绍和实践,你可以充分利用 Laravel Slower 提升 Laravel 应用的数据库查询性能。