乐趣区

hyperf如何接入swoole-enterprise

1. 为什么要接入 swoole enterprise

针对线上机器的监控、接口的调用情况、线上调试等等,这应该是每个项目,都面临的必须要解决的问题。
swoole enterprise 是一个非常好的解决方案。呵呵··· 是不是有人以为我是这个项目的托?!其实我用的是试用版,非付费用户。
给大家上几张图,目前线上已经运行。


不截图了,打马赛克太麻烦了~~

2. 如何接入呢?

  • 这边必须说个小插曲哈:之前我在服务器安装 swoole_plus.so 拓展,怎么都不成功。最后通过联系 swoole 官网客服,并通过远程才解决。必须给客服点赞哈~~ 上图

补充说下:我是服务器直接安装,没有使用 docker 环境。你可以先看下官网安装教程点击查看

a. 服务器基础部署:php(nts 版,不支持 zts)【不知道到 nts 与 zts 的区别?这个不重要。知道如何安装即可。】、swoole4.4 以上

b. 进入 swoole enterprise 申请试用,下载客户端包到服务器。


c. 解压安装包后,运行 deploy_env.sh,会安装基础组件和复制 sdk 至 /opt/swoole 下。

d. 复制对应 php 版本的 swoole_plus7*.so 至 php 的 extensions 文件下。不知道这个目录在哪里?没关系,看下面指令:

php -i|grep extension

e. 配置 php.ini

extension=swoole_plus.so
apm.enable=1           #打开总开关
apm.sampling_rate=100  #采样率 例如:100%
# 手动埋点时再添加
apm.enable_memcheck=1  #开启内存泄漏检测 默认 0 关闭 

f. 回到自己的 hyperf 程序,安装 hyperf/swoole-enterprise 拓展,并添加全局中间件 HttpServerMiddleware

i. 最后重启服务,即可通过后台查看相关数据了。

ps. 我感觉这个后台有几点确实很有用,可以看到每个接口的调用成功情况和时长。我就通过这个后台,发现一个 redis 的 auth 问题。第二点,可以查看整个应用的调用链并能分析性能。第三点,可以直接分析线上接口时长较长接口的性能。还有。。。这是一个宝藏后台,可挖掘的还有很多哦~~

退出移动版