如何查看tcp连接的建立时间?

      在进行服务性能分析时,有时需要确认连接池、长连接、短连接相关的问题,需要查看tcp连接的建立时间? 怎么看?

      1. 以如下tcp链接为例:

ubuntu@VM-0-15-ubuntu:~$ netstat -nap | grep -i esta
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)              
tcp        0      0 172.17.0.15:38262       169.254.0.55:5574       ESTABLISHED - 

      2. 查端口38262对应的进程,可以看到,是root用户开启的进程,所以要用sudo:

ubuntu@VM-0-15-ubuntu:~$ lsof -i:38262
ubuntu@VM-0-15-ubuntu:~$ sudo lsof -i:38262
COMMAND     PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
YDService 12335 root    6u  IPv4 42480944      0t0  TCP 172.17.0.15:38262->169.254.0.55:5574 (ESTABLISHED)
ubuntu@VM-0-15-ubuntu:~$ 

      3. 观察到FD=6,  进程号是12335, 可以看到tcp连接创建时间是:Feb 21 00:03

ubuntu@VM-0-15-ubuntu:~$ ls -l /proc/12335/fd/6
ls: cannot access '/proc/12335/fd/6': Permission denied
ubuntu@VM-0-15-ubuntu:~$ sudo ls -l /proc/12335/fd/6
lrwx------ 1 root root 64 Feb 21 00:03 /proc/12335/fd/6 -> socket:[42480944]
ubuntu@VM-0-15-ubuntu:~$

      

      从而可以确定,这个连接一直存在。 

      不多说。

发布了2222 篇原创文章 · 获赞 4663 · 访问量 1995万+

猜你喜欢

转载自blog.csdn.net/stpeace/article/details/104651624