服务器的时间是怎样同步的, 怎样尽量避免误差

2020-05-05 16:18:00 +08:00
 DinoStray

我现在有很多服务器, 里面有很多应用.
现在需要对应用间传递数据的效率做统计.
结果发现服务器之间的时间, 是有误差的.
秒级别几乎看不出, 但到了微秒, 甚至纳秒级别的时候, 差别就明显了.
这种误差有办法尽量避免么, 或者无法避免, 通常情况下误差的百分比是多少呢?

3384 次点击
所在节点    问与答
16 条回复
3dwelcome
2020-05-05 16:23:41 +08:00
我以前校对期货交易,对时间有严格要求。
用系统工具有网络误差,自己写了个工具,连续测试十次,把误差最大最小都去掉,剩下取个平均值,也还凑合。
3dwelcome
2020-05-05 16:27:01 +08:00
ntpdate 是推荐工具,可有网络速度误差,没办法高精度同步时间。
我也很奇怪,为什么没高精度时间同步工具,只能自己来写。
nuk
2020-05-05 16:50:13 +08:00
用 IEEE 1588 或者 GPS..
TtiGeR
2020-05-05 16:53:07 +08:00
https://github.com/camilleg/clockkit

可以试试,平均和时间源误差大概在 10 微秒。也就是 0.01 毫秒。论文也在。
delectate
2020-05-05 18:30:09 +08:00
gps 授时,误差十几纳秒,要求具有 gps 接收条件。通信基站都在用。
cctvsun
2020-05-05 19:03:46 +08:00
用软件搭一个时间服务器即可
zxc12300123
2020-05-05 19:08:03 +08:00
可以看一下《数据密集型应用系统设计》/《 Designing Data-Intensive Applications 》第八章
cominghome
2020-05-05 20:11:46 +08:00
秒级别几乎看不出, 但到了微秒, 甚至纳秒级别的时候, 差别就明显了.

啥应用啊要做纳秒级别时间同步?
20century
2020-05-05 21:30:15 +08:00
@cominghome 火箭遥控发射🐶
nullen
2020-05-05 21:40:04 +08:00
自己做原子钟作为时间源。除了 NTP 协议,还有个 PTP 协议。
matrix67
2020-05-05 21:52:40 +08:00
@cominghome 是啊

而且时间不是相对的么,二表定律。而且还有网络的波动。只要涉及到通信,网络延迟就很明显能够体现出来了。

不过也是有应用需要时间准确的。比如金融 期货之类的。彭博社不是出巨资拉专线。
QUIOA
2020-05-05 22:11:21 +08:00
@cominghome 抢购秒杀软件?黄牛用的那些秒杀软件对这些误差都是要求很严格的
CEBBCAT
2020-05-05 22:20:23 +08:00
@QUIOA 真的吗?他们怎么保证服务端的时间精确呢?
QUIOA
2020-05-05 22:41:41 +08:00
@CEBBCAT 我没做过。只是大概了解
flynaj
2020-05-05 22:49:58 +08:00
网络应用 一个 ping 上百是很正常的事情应该考虑相对时间。
nuk
2020-05-06 03:21:19 +08:00
@3dwelcome ntpdate 和 ntpd 原理不一样,ntpdate 只是简单计算了一轮,没有 Clock Discipline 的过程。就我使用的经验看,内网里面 ntp 运行一段时间后基本都可以达到 us 级别的精度。
如果是在公网除了 ntp 没别的可以选了,1588 要交换机也支持才能达到高精度,而且虚拟机也不行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/668686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX