Repolode
halilcosdu

halilcosdu/laravel-slower

Laravel 慢查询捕获工具,自动分组重复查询,并借助 LLM 给出索引和改写建议,内置仪表盘。

Star
415
Fork
22
未关闭 Issue
1
最近提交
19天前

这是什么?

Laravel Slower 挂接 Laravel 的查询监听器,记录所有超过可配置毫秒阈值的查询,并保存绑定参数、连接信息,以及触发它的路由、队列任务或 artisan 命令。重复语句会按指纹归组,最频繁的慢查询模式会优先显示。

每条捕获的查询可以选择发送给 LLM(OpenAI、Anthropic Claude、Google Gemini,或通过 Prism 接入的自托管及自定义模型),同时附上参数化 SQL、表结构、索引和只读的 EXPLAIN 执行计划。返回的索引和改写建议会被保存,并以 Markdown 形式展示。默认情况下只有参数化 SQL 会离开应用,原始 SQL 和绑定值需要显式开启,并可通过脱敏类处理。

项目自带一个独立的仪表盘,路径为 /slower,默认只在 local 环境开放。它还支持采样、单次执行的捕获上限、队列化分析任务,以及用于告警的事件。通过 Composer 安装,执行两步迁移即可使用。

核心功能

  • 01通过 DB::listen 钩子捕获超过可配置阈值的慢查询。
  • 02按指纹对重复的查询结构分组,并统计次数与耗时。
  • 03记录每条查询对应的路由、控制器方法、队列任务或命令及代码位置。
  • 04将参数化 SQL 和表结构发送给 OpenAI、Anthropic、Gemini 或自定义驱动以获取优化建议。
  • 05内置仪表盘,支持搜索、筛选和一键 AI 分析。
  • 06提供采样、单次执行捕获上限和队列化后台分析。

适用场景

  • 在 Laravel 应用性能调优时,找出最常出现的慢查询。
  • 无需手动对每条语句执行 EXPLAIN,即可获得索引和改写建议。
  • 生产环境出现新的慢查询结构时通知团队。
  • 在高流量场景下通过采样和上限控制,持续保留慢查询日志。

快速上手

  1. 1

    使用 Composer 安装该包

    composer require halilcosdu/laravel-slower
  2. 2

    发布数据库迁移文件

    php artisan vendor:publish --tag="slower-migrations"
  3. 3

    运行迁移,然后在本地环境中打开 /slower

    php artisan migrate

使用前须知

  • 需要 PHP 8.3 及以上版本,以及 Laravel 11、12 或 13。
  • AI 建议需要付费 LLM 服务商的 API 密钥,且每次分析都会产生计费调用。
  • 默认情况下,除非你定义 viewSlower 授权规则,否则仪表板仅能在本地环境中访问。

收录于专题

标签

常见问题

laravel-slower 是什么?
Laravel 慢查询捕获工具,自动分组重复查询,并借助 LLM 给出索引和改写建议,内置仪表盘。 Laravel Slower 挂接 Laravel 的查询监听器,记录所有超过可配置毫秒阈值的查询,并保存绑定参数、连接信息,以及触发它的路由、队列任务或 artisan 命令。重复语句会按指纹归组,最频繁的慢查询模式会优先显示。
laravel-slower 可以免费使用吗?用的什么许可证?
laravel-slower 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
laravel-slower 还在维护吗?
活跃维护中。laravel-slower 最近一次提交是在 2026年10月19日。
laravel-slower 适合用来做什么?
在 Laravel 应用性能调优时,找出最常出现的慢查询。 无需手动对每条语句执行 EXPLAIN,即可获得索引和改写建议。 生产环境出现新的慢查询结构时通知团队。 在高流量场景下通过采样和上限控制,持续保留慢查询日志。
laravel-slower 怎么安装和运行?
使用 Composer 安装该包: composer require halilcosdu/laravel-slower 发布数据库迁移文件: php artisan vendor:publish --tag="slower-migrations" 运行迁移,然后在本地环境中打开 /slower: php artisan migrate
在哪里获取 laravel-slower?
源代码和安装说明在 GitHub 上:https://github.com/halilcosdu/laravel-slower

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目