编辑1号
我的任务是镜像,即使用 rsync 和 rsh 将更新的数据从主服务器复制到所有镜像。但是在rsync和rsh期间,我发现了一些延迟。我的想法是,延迟的原因是反向 DNS 查找。所以我想记录主服务器与镜像服务器连接时反向 DNS 查找过程中消耗的时间。
在我的应用程序中,我想检测是否调用了反向 DNS 查找系统调用。那么,哪个命令有帮助呢?
对于反向 DNS 查找,系统调用是 getnameinfo()。如果还有其他的,请告诉我。
我只想在我的项目中跟踪这个系统调用。我可以使用哪个命令?
我知道 ltrace/strace 命令可以跟踪所有被调用的系统调用,直到脚本退出,但这会产生额外的开销,因为所有系统调用跟踪在我的项目中都没有使用。
我想记录 rsync 和 rsh 期间反向 dns 查找所消耗的时间。
帮助我解决我的问题。
答案1
答案2
通常是服务器对客户端的 IP 进行反向 DNS 查找,无论客户端进行多少次跟踪都不会告诉您这一点。
您需要做的是检查服务器上的配置或网络活动。strace
和类似的东西对此不太匹配:查看网络活动,例如使用tcpdump
Wireshark 或 Wireshark。