温馨提示×

Debian如何监控Laravel性能

小樊
36
2026-01-03 16:12:04
栏目: 智能运维

Debian上监控Laravel性能的实用方案

一 分层监控架构

  • 应用层:使用 Laravel Telescope / Laravel Pulse / Laravel Horizon 观察请求、慢查询、异常、队列吞吐与任务失败等框架内指标。
  • APM 层:接入 New Relic / Datadog 获取事务追踪、错误分析、依赖调用与全链路性能。
  • 基础设施层:用 Prometheus + Grafana 采集服务器、数据库与 PHP-FPM 指标并做可视化告警。
  • 可用性层:用 UptimeRobot 做外网可达性与响应时延监控。
  • 日志与错误:基于 Laravel 日志(storage/logs)Sentry 做错误聚合与告警。
  • 进程与任务:用 Supervisor 保证队列与常驻进程稳定存活。

二 快速落地步骤

  • 应用内观测
    • Telescope:开发/预发环境用于请求、查询、异常、队列等深度观测;生产环境务必限制访问与采样。
    • Pulse:轻量实时面板,适合看慢请求、异常、队列吞吐与用户活跃度。
    • Horizon:Redis 队列的仪表盘与均衡策略,便于定位积压与失败任务。
  • APM 接入
    • New Relic:安装 PHP Agent,在 .env 配置 NEW_RELIC_LICENSE_KEY / NEW_RELIC_APP_NAME,即可获得事务追踪与错误分析。
    • Datadog:安装 dd-trace 并设置 DD_SERVICE / DD_ENV,获得 APM、指标与日志联动。
  • 基础设施与可视化
    • Prometheus:部署 node_exporter / mysqld_exporter,采集主机与数据库指标;Grafana 导入 Laravel/PHP-FPM 相关面板做统一展示与告警。
  • 日志与错误
    • 实时查看 Laravel 日志:tail -f /var/www/your_project/storage/logs/laravel.log
    • Sentry:接入后聚合异常并支持按环境/版本告警。

三 关键配置与命令示例

  • Supervisor 守护队列(确保任务不中断)
    • 安装:sudo apt-get update && sudo apt-get install supervisor
    • 配置:/etc/supervisor/conf.d/laravel-worker.conf
      [program:laravel-worker]
      process_name=%(program_name)s_%(process_num)02d
      command=php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3
      autostart=true
      autorestart=true
      user=www-data
      numprocs=4
      redirect_stderr=true
      stdout_logfile=/path/to/your/laravel/project/storage/logs/worker.log
      stopwaitsecs=3600
      
    • 生效:sudo supervisorctl reread && sudo supervisorctl update && sudo supervisorctl start laravel-worker:*
  • 系统资源巡检(定位瓶颈)
    • CPU/内存:top / htop
    • 磁盘/IO:df -hiostat -x 1
    • 网络/连接:netstat -tulpen
    • 综合:vmstat 1
  • Web 服务与连接状态
    • Nginx 状态页:启用 ngx_http_stub_status_module,暴露 Active connections / Reading / Writing / Waiting 等指标,便于观察并发与排队。

四 生产环境注意事项

  • 安全与合规
    • Telescope/Pulse 仅在内网或加鉴权后开放;避免在生产长期开启开发调试工具。
    • 日志与 APM 中避免记录敏感信息(如密码、令牌),必要时做脱敏与采样。
  • 性能与开销
    • 生产不建议开启 APP_DEBUG=true;开发期可临时开启并结合 Laravel Debugbar 做细粒度分析。
    • 建议启用 OPcache 降低 PHP 执行开销,并合理设置队列并发与批处理参数,避免资源争用。

五 告警与可视化建议

  • 告警规则示例
    • 应用:5xx 错误率、P95/P99 响应时延、队列失败数、慢查询数超阈值。
    • 基础设施:CPU > 80% 持续 5 分钟、内存 > 80%、磁盘使用 > 85%、MySQL 连接数接近上限。
    • 可用性:外网探测连续 2 次失败或响应 > 5s
  • 可视化布局
    • Grafana 看板建议包含:请求吞吐与延迟分布、错误热力图、队列吞吐/失败/重试、慢查询 TopN、主机与数据库资源利用率、Nginx 连接状态。

0