我想减少网页打开的 TTFB,那么请教些问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Velocity Beijing 2015
O'Reilly Velocity
Web Performance and Operations
http://velocityconf.com/
YSlow
Best Practices for Speeding Up Your Web Site
Famio
V2EX nbsp;  Velocity

我想减少网页打开的 TTFB,那么请教些问题

  •  
  •   Famio 2017-02-27 08:06:52 +08:00 6816 次点击
    这是一个创建于 3147 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的网站中很多的资源引用都是用的绝对路径,这会加重页面请求,网站成型后,现在改相对路径还来得及么= =感觉是个大工程啊……
    12 条回复    2017-02-27 12:23:04 +08:00
    hupeng
        1
    hupeng  
       2017-02-27 08:24:30 +08:00
    TTFB 和资源文件的绝对,相对路径没有关系
    vertas
        2
    vertas  
       2017-02-27 09:01:16 +08:00
    TTFB 主要花费在网络传输和服务器处理,其他关系非常小,所以你要从这两方便着手和路劲完全没关系!
    kechx
        3
    kechx  
       2017-02-27 09:25:53 +08:00 via iPhone
    做过相关优化,正如 2#所说,当时发现的问题是服务端某个查询执行次数过多,优化后正常,所以还是多从程序效率,数据库查询方面寻找瓶颈。
    Famio
        4
    Famio  
    OP
       2017-02-27 09:27:30 +08:00
    @hupeng @vertas @RihcardLu

    谢谢三位的回复。
    那么再请教下,是否有办法查看 TTFB 整个过程中,每个阶段的耗时?
    BOYPT
        5
    BOYPT  
       2017-02-27 09:29:28 +08:00
    @Famio 按 F12 啊
    Famio
        6
    Famio  
    OP
       2017-02-27 09:44:27 +08:00
    @BOYPT F12 能看到 TTFB 内的全部阶段?我说的是 TTFB 啊!不是页面请求的全部阶段……
    wuxqing
        7
    wuxqing  
       2017-02-27 09:51:55 +08:00
    chrome , ctrl+shift+j ,然后在 Network 中点访问的 url , Timing 里面可以看到 TTFB
    其他浏览器我不熟悉,应该也有类似的
    kechx
        8
    kechx  
       2017-02-27 10:04:21 +08:00   2
    @Famio
    请看 Time To First Byte (TTFB) 的定义( https://en.wikipedia.org/wiki/Time_To_First_Byte ), TTFB 说的是从 client 发送 HTTP 请求到接受 server 响应首个字段的时间段。对于 client 来说, server 相当于黑盒,这个时间段发生了什么, client 无从知晓。
    排查步骤:
    1. 每个页面的 TTFB 都很长?是,从 CDN 方向优化
    2. 个别页面 TTFB 很长?是,看数据库日记,有没有密集查询?某个查询耗时过久?看该页面请求执行了哪些函数, for 是不是嵌套太多等等
    Famio
        9
    Famio  
    OP
       2017-02-27 10:08:25 +08:00
    @RihcardLu 谢谢科普,这才是我要的!
    ningcool
        10
    ningcool  
       2017-02-27 11:48:33 +08:00
    CSS , js 等脚本资源的合并,以及页面是否压缩,很重要!因为 http 每一次请求都有很大的网络开销。当然,网页的那些动态处理和业务逻辑是你们自己的事情。
    otakustay
        11
    otakustay  
       2017-02-27 11:58:48 +08:00
    除非有 Server Timing 的支持,不然 TTFB 是没办法告诉你分阶段( req - server - res )的各阶段数据的,当然 req 和 res 这 2 个阶段可以考虑通过一些网络监听程度比如 wireshark 之类的去看

    对于静态文件,由于 server 基本不会耗时,所以减少 ttfb 最简单的(对于很多人也几乎是唯一的)手段就是上 CDN
    easing
        12
    easing  
       2017-02-27 12:23:04 +08:00
    影响 TTFB 最大的是 DNS ,然后是传输时间,尽量从这两个方面做改进
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3291 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:44 PVG 18:44 LAX 03:44 JFK 06:44
    Do have faith in what you're doing.
    ubao 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