电脑上通过 NTP 对时,正常误差是多少?

2018-01-20 15:56:41 +08:00
 eric13517
今天在电脑上秒杀抢东西,先在系统里用 Internet 时间同步,但发现同步后,比网页上显示的服务器时间慢,再拿手机对比,电脑时间比手机的时间慢大约 2-3 秒,这个误差好像有点大。
手机是通过移动网络同步时钟的,应该比通过 NTP 同步要准确一点吧。

大家在同步电脑时间时,用的是哪个 NTP 服务器,怀疑是系统自带的对时服务器访问延时太长导致的。
15634 次点击
所在节点    程序员
34 条回复
likuku
2018-01-20 16:10:50 +08:00
多年前就注意到国内电视台和电台显示 /报时 的时钟 似乎都要比 NTP 校准过的时钟慢那么 2-3 秒。

最近两年没有电视机了,不知道现在如何。
wizardoz
2018-01-20 16:12:39 +08:00
ntp 服务器的上游服务器越多,同步的时间越准确。如果只有一个上游服务器,好像是很难精确的。
trepwq
2018-01-20 16:12:42 +08:00
@likuku 电视台直播规定必须延迟几秒
likuku
2018-01-20 16:15:16 +08:00
个人习惯用 time.apple.comtime.windows.com

偷懒直接用 pool.ntp.org 也可以

下面是树莓派(raspbian)默认用的:
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst

ntpq -p 就知道延时和你当前优先用的那个:
* 就是当前用的,
带 GPS 的就是 1 级时钟源,民用里是最准的,但不一定是离你最近的

ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.002
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.002
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.002
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.002
*news.neu.edu.cn 202.118.1.47 2 u 679 1024 377 46.807 -4.652 2.106
-212.47.249.141 5.103.128.88 3 u 54 1024 377 258.477 19.832 7.363
-ntp3.flashdance 194.58.202.148 2 u 470 1024 377 283.260 17.744 9.204
+time4.aliyun.co 10.137.38.86 2 u 516 1024 377 37.393 -2.837 1.488
+85.199.214.100 .GPS. 1 u 49 64 177 263.694 10.145 5.001
-ntp3.itcomplian 10.6.30.8 6 u 952 1024 235 218.006 -37.512 23.141
riggzh
2018-01-20 16:34:04 +08:00
手机可以调 GPS 对时,所以比网络对要准
lolizeppelin
2018-01-20 19:37:12 +08:00
ntp 精度是 128 毫秒
realpg
2018-01-20 22:04:18 +08:00
android 手机 到窗口之类能直接看到天空的地方,打开 gpstest,等卫星数量够了变绿色,点 time,就是 gps 的高精度时间了
realpg
2018-01-20 22:05:18 +08:00
我们机房的 ntp 服务器的时钟源就是 gps,费了好大劲打了 N 个孔下了 N 个管才把 GPS 天线引进机房里
turan12
2018-01-20 22:15:43 +08:00
话说秒杀的服务器的时间可能也不是精确的 GPS 时间。
lfzyx
2018-01-20 22:20:23 +08:00
@likuku 不延迟就没法紧急 cut 直播镜头了
flynaj
2018-01-20 22:37:14 +08:00
你用的什么操作系统,win7 默认一个星期才同步一次
billwang
2018-01-20 22:41:14 +08:00
@realpg 一般机房都有自己的授时中心,不过服务器都是和北上广的授时中心对时,如果对方无法访问则会通过自己的授时。
Telegram
2018-01-20 22:47:51 +08:00
你的时间再精确,秒杀服务器的时间不精确也没用啊。

我记得阿里也有 ntp
cst4you
2018-01-20 23:31:06 +08:00
楼上说电视的, 现在的"数字电视"的视频流不知道都延迟多少了...还准时
likuku
2018-01-20 23:52:11 +08:00
@flynaj
@Telegram

so, 很早就有 freebsd 的大牛写文倡议服务器应使用 ntpd 来代替 ntpdate,因为前者是守护进程运行,
持续不断监视本机 RTC,有偏差就会立即修正,不需要人为照管。
likuku
2018-01-20 23:55:50 +08:00
AsiaBSDCon 上说 OpenBSD 的 sensor framework 的时候的一个观点 - delphij's Chaos : https://blog.delphij.net/2007/03/asiabsdconopenb.html

"第二,这样做不精确。一旦 ntp 服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd 不仅能够校准计算机的时间,而且能够校准计算机的时钟。"


RTC 与 NTP - delphij's Chaos : https://blog.delphij.net/2010/08/rtc-ntp.html
missdeer
2018-01-21 00:21:18 +08:00
我在公司里一个 Win7,一个 iMac,全都启用系统网络校时。但是! Win7 比我手机慢 2 分钟左右,mac 比手机快 2 分钟左右,也就是说这两台电脑相差 4,5 分钟,手机是准时的!
AstroProfundis
2018-01-21 00:26:02 +08:00
个人观察,一般通过公网校时(网络正常情况下)大概在 10ms 量级,基本上误差 < 10ms 就算是很稳定的了,多数情况在 100ms 以内,没有特殊需求的话是完全够用的,如果在网络良好的局域网内有时候可以达到 1ms 量级
查看方法就是上面有提到的 ntpq -p 命令,其中 offset 是误差,jitter 是本机获取到的和源的误差的抖动大小(最近若干次 offset 的均方根),理想情况下应该为 0 当然实际上是达不到的... jitter 大说明客户端到这个源的校时状况不稳定,一般来说是因为网络抖动影响了时间差的计算,暗示使用这个源同步可能不那么可靠
AstroProfundis
2018-01-21 00:29:42 +08:00
@missdeer 类库叔乃有木有看过这几个设备各自校时使用的源是谁...我猜 win 默认用了巨硬在美帝的 time.windows.com, 水果默认用了在新加坡一带的 asia.time.apple.com, 然后手机可能用的是 xx.pool.ntp.org 然后被解析到了国内或者日本

然而这样也不可能有分钟级的误差,乃确定对时服务在跑么╮( ̄▽ ̄")╭
eric13517
2018-01-21 00:53:49 +08:00
多谢大家,我找了些国内的 ntp 服务器,挑了个 ping 值最小的 ntp6.aliyun.com ,同步后好多了,但目测仍然比手机慢 1s
左右,和网页版的 http://www.hko.gov.hk/gts/time/clock_uc.html 对比,目测大约慢 0.5s 左右。
这个误差虽然没有太大影响,但较真的毛病又犯了,感觉 ntp 协议是有网络延时补偿的,似乎不应该有这么大的误差。

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

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

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

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

© 2021 V2EX