Tideways和xhgui打造PHP非侵入式监控平台

本文介绍了如何使用Tideways和xhgui创建PHP的非侵入式监控环境,以快速定位代码性能问题。通过Tideways扩展生成执行日志,并利用xhgui进行可视化分析,同时讨论了Tideways的盈利模式、安装扩展对代码的影响以及日志生成频率的控制。此外,还提供了安装和配置Tideways、MongoDB、xhgui的详细步骤。
摘要由CSDN通过智能技术生成

当我们发现生产环境的某个接口执行时间特别长时应该怎么做?是不是直接登录线上机器单步调试?或者打大量的log然后分析? 一般我们可以把分析流程分为如下几步操作:

  1. 分析开发环境下执行是否会慢;

    如果是代码问题,在开发环境下就能检测出来;

  2. 分析预发环境执行是否会慢;

    如果是数据库或者第三方扩展问题,在预发环境就能检查出来。

  3. 从生产环境摘一台机器,分析代码执行慢的原因;

    如果是机器的问题,在生产环境就能检查出来。

1,2,3步骤都需要去分析代码,看哪部分执行时间长。如果人工一句一句代码去排查,很容易导致用户流失。大多时候我们会使用第三方的分析工具tideways或者xhprof来快速发现问题。选择哪一个工具比较好呢?xhprof虽然来自facebook但已经很久不更新,官方源已经显示This package is abandoned and no longer maintained(此包已废弃,不再维护)。tideways恰好相反,一直有商业公司在维护,并且积极的支持了PHP7。两个扩展都是开源的,综上所述我建议大家选择tideways来分析代码。

tideways扩展能把每条请求生成详细的执行日志,我们通过对日志做简单的分析就能看到程序哪部分耗时最长,这里可以使用xhprof的UI程序(xhprof生成的日志和tideways生成的日志格式通用),交互虽然不大友好但是够用了。如果想有更好的视觉效果,建议下载xhgui,一款基于Bootstrap的xhprof UI程序。

在开始搭建PHP非侵入式监控平台之前,我需要解释几个问题。

一. Tideways这家公司如何盈利?

Tideways这家公司与Sentry的营销模式一样,都是卖存储服务+数据分析服务。

tideways.so扩展是开源的,可以免费使用。但是tideways.so扩展只能生成日志文件,我们获得日志文件后还需要花很长时间去整理和分析。如果你购买了Tideways的服务,就能无缝的将日志存储到他们的服务器,登录他们提供的后台就能看到项目代码和服务器的运行状况。加上各种可视化的图表展示,体验非常的好,有很多大公司愿意付费。

二. 安装扩展后代码改动会不会很大?

tideways.so扩展提供的监控方式是非侵入式的监控,不会对当前项目有任何的影响。我们只需要在Nginx配置文件中加上一行配置即可:

fastcgi_param PHP_VALUE “auto_prepend_file=/home/admin/xhgui-branch/external/header.php”;

代码的含义:在执行

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值