• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CoderLife
V2EX  ›  程序员

小程序在 ios 下请求 api 很慢, 安卓和模拟器很快, 求解

  •  
  •   CoderLife · Apr 14, 2020 · 7216 views
    This topic created in 2394 days ago, the information mentioned may be changed or developed.

    最近一两周发现 ios 上请求 api 巨慢, 模拟器上在 1 秒之内, 在 ios 上要 7,8 秒, 或更长, 用远程调试也是一样. 网上搜索没有找到确切答案, 有人说 dns 的问题.

    我现在请求的域名是: api1.a.example.com, 我换成 api2.a.example.com 一样没有改观.

    证书用的是 let's encrpyt, *.a.example.com

    大家有遇到这种问题吗?

    Supplement 1  ·  Apr 14, 2020
    不是 VPN 的问题, 试过 WIFI 和 4G, 换过多台 IOS, 一样

    测试过一个页面只有两个 rest 请求, 一样慢
    Supplement 2  ·  Apr 14, 2020
    域名在阿里云, 用的 dnspod 解析的
    Supplement 3  ·  Apr 14, 2020
    经确认, 换了一个 comodoca, 速度起来了,
    墙太可恨了,
    没有 LE 的泛域名, 只能一个一个域名的去生成,

    谢谢大家
    31 replies  •  2020-04-14 23:14:36 +08:00
    52icarus
    52icarus
    Apr 14, 2020
    1
    如果是 http 请求是不是会快。我之前因为 https 慢把请求换成了 http
    zongren
    zongren
    Apr 14, 2020
    2
    试试 safari 访问?
    kingyifa
    kingyifa
    Apr 14, 2020
    3
    是不是手机开了 VPN 忘记关了
    Latin
    Latin
    Apr 14, 2020
    4
    无解那就上 cdn 吧
    Vegetable
    Vegetable
    Apr 14, 2020
    5
    @52icarus 小程序用 http 吗?
    MonoLogueChi
    MonoLogueChi
    Apr 14, 2020
    6
    微信不是用的内置 DNS 吗,腾讯云的 httpdns
    w99w
    w99w
    Apr 14, 2020
    7
    有没有可能是 vpn ?或者 charles 抓包的问题?
    em70
    em70
    Apr 14, 2020
    8
    7,8 秒肯定不正常,应该与证书无关,你可以用一个 hello world 试试,排除逻辑原因,然后换其他不同服务器 API,排除服务器互联互通原因
    qiayue
    qiayue
    Apr 14, 2020
    9
    换证书有效
    Kiriya
    Kiriya
    Apr 14, 2020
    10
    据说 let's encrpyt, *.a.example.com 被 DNS 污染了
    speculatorA
    speculatorA
    Apr 14, 2020
    11
    试过在 iOS 、小程序、web 请求正常,在 Android 第一次请求很慢。
    后面发现在三次握手时异常时长。
    最后记得是 DNS 那块做了兼容解决的。
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    12
    @52icarus 小程序强行得用证书
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    13
    @kingyifa 不是 VPN 的问题, 4G 和 WIFI 一样
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    14
    @zongren chrome 和 safari 都很快
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    15
    @qiayue 刚把证书更新了一下, 一样很慢,
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    16
    @Kiriya 需要换个其它厂的证书?
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    17
    @speculatorA 这个怎么做的呢?
    qloog
    qloog
    Apr 14, 2020
    18
    阿里云买个免费证书试试。可以买 N 个免费证书。
    lmfx89
    lmfx89
    Apr 14, 2020
    19
    最近刚经历这个问题,只能在 iOS 端复现,替换 LE 以外的免费证书可解。
    also24
    also24
    Apr 14, 2020 via Android
    20
    先抓包确认时间消耗在哪个步骤啊……

    如果应用层抓包时问题消失,就抓网络层的…
    huangtao728
    huangtao728
    Apr 14, 2020 via Android
    21
    Let's Encrypt 的 OCSP 服务域名最近被墙污染了,可以暂时替换别的证书解决,或者启用 OCSP Stapling
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    22
    @qloog
    @lmfx89
    @huangtao728
    @also24
    换了个 comodaca 搞定了, 多谢,
    太可恨了,
    happyzed
    happyzed
    Apr 14, 2020
    23
    你确定 ios 上只有小程序的请求慢吗?我刚开始从安卓换到 ios,我的世界都被变慢了
    Doraemontree
    Doraemontree
    Apr 14, 2020
    24
    最近的公司的某个项目也是,iOS 请求 7 8 秒 安卓很快
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    25
    @happyzed 确定, 已解决, 换证书就好了
    @Doraemontree
    shunfa52000
    shunfa52000
    Apr 14, 2020
    26
    所有接口都很慢?有没有可能是访问到 ipv6 的网络去了?
    Doraemontree
    Doraemontree
    Apr 14, 2020
    27
    @CoderLife #25 什么证书,求解一下
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    28
    @shunfa52000 不知道, 应该没有, 最近没有做什么操作
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    29
    @Doraemontree 以前用的 LE, 现在换成 comodoca 了
    6yong
    6yong
    Apr 14, 2020
    30
    最近也遇到了 let's encrpyt 的 OCSP 查询地址被 DNS 污染导致超时
    CoderLife
    CoderLife
    OP
    Apr 14, 2020
    31
    @6yong 换了证书瞬间提速
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1331 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 20:06 · PVG 04:06 · LAX 12:06 · JFK 15:06
    ♥ Do have faith in what you're doing.