经历了多个月多次尝试,我终于解决了为什么我的 iOS 有 17~20s 左右的推送延迟……
发现推送延迟,是因为小米上明明收到微信消息了,iOS 上却要等待差不多 17 到 20 秒的时间,小米互联服务才会发出这条推送(小米互联服务可以设定为当小米息屏的时候,小米收到的微信QQ短信电话等消息会推送到 iOS 设备上)。
最开始检查结果是发现只要配置了 DNS 为 NovaXNS 就会导致推送异常,配置为 system 或者 223.5.5.5 都没有问题,一直以为是 NovaXNS 哪里的问题(倒也不能算不是)。
排查了很久很久,今天又来排查一次,以前都是把 nameserver 设置为 NovaXNS,nameserver-policy配置类似于 geosite:apple 或者 push 域名全部放 223.5.5.5,但这种方式已经试过很多次了。
结果 GPT 给了新的视角:把 nameserver 设置为 223.5.5, nameserver-policy 把 Apple 相关的域名反过来配置为 NovaXNS,结果推送反而不延迟了。
😡闹半天不是果子域名的连接问题😡
然后就是开始查 NovaXNS 的日志了,一条一条排查最后发现……是他妈的个推的域名 bz-sdk.open.extension.getui.com 在 NovaXNS 里被广告规则拦截了。
我到今天才知道原来 Apple 的推送可以再经过 App 处理一次,所以实际上大概就是原本消息早就实时送进手机了,但是在小米互联服务里「个推 SDK」 为了统计数据又调用了个推的域名去上报但是被 DNS 查询的结果拦截了,估计17s~20s 的体感延迟就是因为上报一直失败到最后超时才 fallback 到不上报………………………………
发现推送延迟,是因为小米上明明收到微信消息了,iOS 上却要等待差不多 17 到 20 秒的时间,小米互联服务才会发出这条推送(小米互联服务可以设定为当小米息屏的时候,小米收到的微信QQ短信电话等消息会推送到 iOS 设备上)。
最开始检查结果是发现只要配置了 DNS 为 NovaXNS 就会导致推送异常,配置为 system 或者 223.5.5.5 都没有问题,一直以为是 NovaXNS 哪里的问题
排查了很久很久,今天又来排查一次,以前都是把 nameserver 设置为 NovaXNS,nameserver-policy配置类似于 geosite:apple 或者 push 域名全部放 223.5.5.5,但这种方式已经试过很多次了。
结果 GPT 给了新的视角:把 nameserver 设置为 223.5.5, nameserver-policy 把 Apple 相关的域名反过来配置为 NovaXNS,结果推送反而不延迟了。
😡闹半天不是果子域名的连接问题😡
然后就是开始查 NovaXNS 的日志了,一条一条排查最后发现……是他妈的个推的域名 bz-sdk.open.extension.getui.com 在 NovaXNS 里被广告规则拦截了。
我到今天才知道原来 Apple 的推送可以再经过 App 处理一次,所以实际上大概就是原本消息早就实时送进手机了,但是在小米互联服务里「个推 SDK」 为了统计数据又调用了个推的域名去上报但是被 DNS 查询的结果拦截了,估计17s~20s 的体感延迟就是因为上报一直失败到最后超时才 fallback 到不上报………………………………
❤1