[PHP] 使用strace排查接口响应速度慢过程
2023-02-18 15:41:32 时间
有个内部接口 , 另外同事会调用该接口 , 把一份邮件内容上传到这个接口
对方反应该接口有调用超时现象
排查思路;
排查access日志 , 看到有499状态码 , 响应时间是5秒 , 可以确定的是对方设置了超时时间是5秒
对方想要把超时时间尽量小 , 因此继续排查代码中可能速度慢的地方 , 使用strace监听所有的fpm进程
strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g') -s 1024 -tt -r 2>&1|awk '{if ($3>0.1) print $3,$0}'
具体解释
-s 1024是展示的数据大小
-tt 显示毫秒值
-r 显示每个系统调用的耗时
awk里面的$3获取的就是系统调用的耗时字段 , 打印出大于0.1秒的系统调用函数
可以看到所有耗时超过0.1秒的系统调用 , 对照代码就可以找到了
相关文章
- Redis分布式锁的10个坑
- 如何解决 Redis 数据倾斜、热点等问题
- 免费给自己的网站加 HTTPS
- iterm2 快捷键(转载)
- Too many authentication failures for xxxx_username
- peewee insert 数据时报错:'buffer' object has no attribute 'translate'
- virtualenv 虚拟环境报错:setuptools pip wheel failed with error code 1
- supervisor 安装、配置、常用命令
- _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
- [MySQL]支持 emoji(字符集问题)
- [MySQL]长连接和短链接(转载)
- 解决 InsecurePlatformWarning: A true SSLContext object is not available.
- Mac总是自动启动脚本
- Max retries exceeded with url
- brew tap homebrew-science fails
- 持续集成是什么?(转载)
- [编辑器]vim常用操作
- Mac下中文输入法突然没了选字框
- install dm.xmlsec.binding 失败
- [MySQL]创建数据库以及设置编码