MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

用strace动态查看新建TCP连接服务端的socket参数选项

2024-11-26 19:58 huorong 数据库 4 ℃ 0 评论

先找到监听进程的PID。

例如,想要看建立Oracle 数据库连接的socket参数,那么先找到 监听服务 tnslsnr的PID:

[oracle@hysadg1 ~]$ pgrep -f "tnslsnr $(lsnrctl status | awk '/^Alias/{print $2}') "
7864

然后,再用 strace 追踪连接的创建过程:

[oracle@hysadg1 ~]$ sudo strace -fyye trace=socket,setsockopt -p 7864 2>&1 | GREP_COLORS='ms=01;32' grep --color=auto -E '^|.*sock.*|^=*'
strace: Process 7864 attached with 2 threads

最后,当有客户端与服务端监听地址创建 tcp 连接时,就可以看到新建连接的具体参数了,如:

从上图可以清楚的看到,新建 tcp 连接的 keep-alive 开关是打开的,keep-alive空闲时间设置的是600秒,重试间隔设置的是6秒,重试10次,keep-alive消息不缓存合并消息(nodelay);那么也就是说如果这个连接11分钟(空闲10分钟+重试1分钟)之内没得到对方回复,那么服务端就会关闭这个连接。

Tags:oracle 左连接

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言