我使用多台远程服务器测试一个并行系统,每次处理大约需要 0.4 秒。因此,当我在多台服务器上运行程序时,运行时间从不到 0 到 1 秒不等。奇怪的结果来自于每个远程服务器的系统时间差异很小,如下所示:
[1] 14:25:45 [SUCCESS] [email protected]:22
Sun Dec 25 14:25:46 EST 2016
[2] 14:25:45 [SUCCESS] [email protected]:22
Sun Dec 25 14:25:45 EST 2016
[3] 14:25:45 [SUCCESS] [email protected]:22
Sun Dec 25 14:25:46 EST 2016
[4] 14:25:45 [SUCCESS] [email protected]:22
Sun Dec 25 14:25:46 EST 2016
[5] 14:25:45 [SUCCESS] [email protected]:22
Sun Dec 25 14:25:47 EST 2016
由于各个服务器之间都有1s到2s的差异,所以我的测试结果都是一些小于0的,那么如何避免这个服务器之间的差异,使得结果正常呢?
答案1
假设你手动操作,并且需要知道需要多长时间……有办法记录时间在运行任务的服务器上。这很简单,只需修改包装器以发送输出即可,例如时间命令,而不是在控制服务器获取它时手动计算它。