V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DinoStray
V2EX  ›  问与答

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

  •  1
     
  •   DinoStray · 2020-05-05 16:18:00 +08:00 · 3376 次点击
    这是一个创建于 1449 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    不过也是有应用需要时间准确的。比如金融 期货之类的。彭博社不是出巨资拉专线。
    QUIOA
        12
    QUIOA  
       2020-05-05 22:11:21 +08:00 via Android
    @cominghome 抢购秒杀软件?黄牛用的那些秒杀软件对这些误差都是要求很严格的
    CEBBCAT
        13
    CEBBCAT  
       2020-05-05 22:20:23 +08:00 via Android
    @QUIOA 真的吗?他们怎么保证服务端的时间精确呢?
    QUIOA
        14
    QUIOA  
       2020-05-05 22:41:41 +08:00 via Android
    @CEBBCAT 我没做过。只是大概了解
    flynaj
        15
    flynaj  
       2020-05-05 22:49:58 +08:00 via Android
    网络应用 一个 ping 上百是很正常的事情应该考虑相对时间。
    nuk
        16
    nuk  
       2020-05-06 03:21:19 +08:00   ❤️ 1
    @3dwelcome ntpdate 和 ntpd 原理不一样,ntpdate 只是简单计算了一轮,没有 Clock Discipline 的过程。就我使用的经验看,内网里面 ntp 运行一段时间后基本都可以达到 us 级别的精度。
    如果是在公网除了 ntp 没别的可以选了,1588 要交换机也支持才能达到高精度,而且虚拟机也不行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3183 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:22 · PVG 22:22 · LAX 07:22 · JFK 10:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.