2015.4.26 关于服务器搬回国内第一周时候的卡顿问题(已解决) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Visual Studio Code
Sublime Text
IOGraphica
Livid
210.86D
522.8D
V2EX    Dev

2015.4.26 关于服务器搬回国内第一周时候的卡顿问题(已解决)

  •  
  •   Livid
    PRO
    2015 年 4 月 26 日 1869 次点击
    这是一个创建于 3926 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现象

    应用服务器的 error_log 看到大量的 upstream timed out,网站在访问时,时不时就出现整个页面卡住的现象。

    根源

    之前服务器放在美国,和美国本地的其他 Web 服务通讯延迟非常低,比如 api.github.com。而 V2EX 的用户个人主页中有 GitHub 和 Dribbble 集成功能。之前这里犯的低级错误就是没有把这两个请求进行异步处理。

    服务器回到国内之后,延迟变大,于是所有和 Dribbble 及 GitHub 的通讯有一定概率堵住 Tornado instance,于是造成 upstream timed out。

    其实这个问题之前在美国时也存在,只是因为网络延迟太低把问题掩盖了。

    解决

    将这两个 API 请求放入 RQ 进行处理。

    8 条回复    2015-04-27 00:07:29 +08:00
    sunyang
        1
    sunyang  
       2015 年 4 月 26 日 via Android
    可以愉快的玩耍了
    fecho
        2
    fecho  
       2015 年 4 月 26 日
    推上看到了~~真的可以愉快的玩耍了
    jmu
        3
    jmu  
       2015 年 4 月 26 日
    good
    no13bus
        4
    no13bus  
       2015 年 4 月 26 日 via iPhone
    所以说即使用了异步框架,但是在前端渲染的时候还是会导致无法及时的通过后台获取到外部api返回的数据,导致页面卡顿。所以livid还是把获取外部数据放到了队列里面?然后加缓存就能解决问题了?
    Livid
        5
    Livid  
    MOD
    OP
    PRO
       2015 年 4 月 26 日
    @no13bus 具体来说,就是不要在 Tornado 的 get/post 里直接用 requests 去读取外部 API
    no13bus
        6
    no13bus  
       2015 年 4 月 26 日
    @Livid 恩。一直用AsyncHTTPClient来请求外部api,然后yield下,tornado的get post请求都尽量不出现任何非异步的请求。requests还是不要用。
    wwqgtxx
        7
    wwqgtxx  
       2015 年 4 月 26 日 via Android
    @Livid v2ex的cdn现在无法访问,之前用的 https://cdn.v2ex.com 访问正常,现在的 https://cdn.v2ex.co 无法打开,请修复

    / $ ping cdn.v2ex.co
    PING lbr.ogslb.com (23.251.121.132) 56(84) bytes of data.
    64 bytes from 23.251.121.132: icmp_seq=1 ttl=51 time=53.9 ms
    ^C64 bytes from 23.251.121.132: icmp_seq=2 ttl=51 time=52.8 ms

    --- lbr.ogslb.com ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 5871ms
    rtt min/avg/max/mdev = 52.885/53.409/53.934/0.573 ms
    / $ ping cdn.v2ex.com
    PING v2ex.china.zgslb.net (122.226.184.35) 56(84) bytes of data.
    64 bytes from 122.226.184.35: icmp_seq=1 ttl=49 time=41.5 ms
    64 bytes from 122.226.184.35: icmp_seq=2 ttl=49 time=41.7 ms
    64 bytes from 122.226.184.35: icmp_seq=3 ttl=49 time=45.8 ms
    ^C
    --- v2ex.china.zgslb.net ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 41.561/43.041/45.816/1.977 ms
    / $
    xanpeng
        8
    xanpeng  
       2015 年 4 月 27 日
    我2个月前才接触到rq,当初要找一个python work queue,然后找到的看起来简单的、可用的就这个,然后我还一直以为它就是一个玩具,没想到真有实际使用啊。
    另外感觉用起来始终有些不爽,感觉原来偏工具,于是照着改写了,改成偏lib...结果是可控度好很多,自己用起来顺手很多。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2684 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 03:32 PVG 11:32 LAX 19:32 JFK 22:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86