我有一台主服务器,可以在网上抓取数据,并进行索引编制。之后,它开始镜像到所有镜像服务器。
为此,我使用 rsync和rsh 。
但是在镜像服务器中开始更新之前,需要时间。我想找到延迟发生的地方。
我的理解
反向DNS查找可能需要一些时间。
我的问题
EDITED
告诉我在哪里可以添加日志以记录消耗的时间?
如果根据我想要的任务,我的理解和问题没有达到标记或相关,那么请纠正我,给我更好的路径,这样我就能实现我的目标。
提前致谢。寻找你的回应。
编辑第2号
基本上我正在分析确定延迟原因所花费的时间。无需模仿现有代码。
我的任务是分析代码,找出延迟的原因。多数民众赞成。
我想现在我的任务中的所有事情都很清楚。
答案 0 :(得分:1)
在更改rsh之前,您可以尝试使用strace查看哪些系统调用需要更长时间。
strace -c将生成系统调用列表以及这些调用使用的时间百分比。 (也应该帮助第二个问题)
为了使DNS查找显而易见,您可以使用ltrace:
示例:
ltrace -c -o log.txt wget http://dkjflsdfjka/
然后log.txt会有类似的东西:
root@host:~# head log.txt
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
74.27 0.130779 130779 1 getaddrinfo
6.63 0.011680 33 344 strlen
3.05 0.005371 35 152 free
2.98 0.005255 35 147 malloc
2.74 0.004830 38 127 fgets
然后你可以看到... getaddrinfo命令占用了大部分时间