strace命令测试练习
使用strace命令查看php程序响应http请求的过程
测试主机A :
- 在目录/home/xiao5/demo下创建php文件, 使用内置服务器启动, 脚本内容为睡眠3秒
- 追踪php进程, 将输出打印到/tmp/output.txt
- 在另一个终端调用服务
- 结束strace任务, 查看/tmp/output.txt打印内容



日志分析:
说明 : 这里打印的方法都是c语言的函数, 一个个对照看文档可以理解过程; 每行最后一个值代表每个函数运行的时间
- 接受一个socket连接 (连接保存到4)
- 获取工作目录
- 打开指定的php脚本文件
- 获得文件状态
- 读取脚本内容
- 关闭文件
- 查询或设置一些信号
- 切换到工作目录
- 创建微秒定时器
- 获取当前时间戳
- 给socket连接返回内容
- 获取当前时间戳
- 把日期字符串写到某个位置 (2指向的文件句柄, 不知道指向哪里)
- 终止socket通信
- 关闭连接

8593 17:32:45.206754 nanosleep({3, 0}, 0x7ffd9634b5b0) = 0 <3.000129>
耗时3.000129s, 可以定位该请求的问题出现在nanosleep函数, 即php的sleep函数

浙公网安备 33010602011771号