[原创] 如何判断已经启动的TF-Serving服务是否正在使用

在一台服务器上,如果启动了一个TF-Serving服务,我们知道它占了资源,却不知道它是在空跑还是真的在用
本文描述了怎样判断它是否真的在用。

用 nvidia-smi 命令能看到 TF-Serving 服务在运行:

TF-Serving is running

其进程id是 22871,于是进一步查询这个进程的信息:
ps -ef | grep 22871
输出类似于:
root     22871 22729 83 13:42 pts/0    00:06:35 tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=codelast --model_base_path=/models/codelast
可见其REST服务的端口号为 8501。
文章来源:https://www.codelast.com/

于是我们可以用 tcpdump 来捕获并分析流量,运行以下命令(需要 root 权限)::
sudo tcpdump -vv -i any 'port 8501'
如果有客户端正在向这个TF-Serving服务发送请求,我们应会看到这个命令有输出,不断在刷屏,类似于:

14:27:59.174425 IP (tos 0x0, ttl 60, id 51707, offset 0, flags [DF], proto TCP (6), length 1500)
node.codelast.com.60679 > 172.17.0.2.cmtp-mgt: Flags [.], cksum 0x310f (correct), seq 617580:619040, ack 1, win 63, length 1460
14:27:59.174453 IP (tos 0x0, ttl 60, id 39347, offset 0, flags [DF], proto TCP (6), length 1500)
node.codelast.com.32739 > 172.17.0.2.cmtp-mgt: Flags [.], cksum 0x9354 (correct), seq 44268904:44270364, ack 1, win 86, length 1460

如果没有请求发到TF-Serving服务,那么上面的命令什么都不会输出,就表明TF-Serving服务没在用。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):
wechat qrcode of codelast
以及我的微信视频号:

 

发表评论