跳转到内容

黑盒内端服务器Timing

  • 云化致力于公开透明
  • Server-Timing可点播请求头ragma:服务器定时
  • 我们计划在不久的将来实现“持久化”
  • 我们希望听到您的反馈

本周Perfmatters大会学习性能测量的重要性新标准喜欢服务器TimingChrome65Opera和Firefox

云纳里我们致力于透明性和问责制正因如此我非常兴奋地宣布我们现在支持服务器Timing面向所有客户今日服务器Timing可点播,但在不远的将来我们将大范围实现-用您的深入了解帮助提高洞察力RUM系统解决之道.

服务器Timing即时点播所有客户用户端可加页眉ragma:服务器定时

卷积中,可加法H-Pragma服务器定位:

Curl http://res.cloudianary.com/clinbendell/sample.jpg-H
注释 :

高山市D-发送信头控制台一号指头请求,不见字节

归根结底,你会看到

Date: Wed, 28 Mar 2018 15:22:05 GMT Content-Type: image/jpg Server-Timing: cloudinary;dur=105;start=1522250525.545;total=105 Server-Timing: akam;dur=18;start=1522250525.454;total=233;desc="~(cache~'miss~rtt~6~id~'42c1b76~pconn~1~f_pconn~1)"

或浏览器中可加Chrome扩展:

服务器Timing

现在你可以看到你的devtops

DevTools服务器定时

可透过javascript查询:

        窗口内.性能.getEntries(b)代码语言CSS系统高山市sss)

性能资源定时

第一次迭代中,我们分享数项操作细节内德克族字段中通知jsur编码化有效载荷迭代显示几个趣味细节

  • 启动从服务器角度讲-启动时间-
  • 总计ms-总时钟转回响应这一点很重要,如果有依存关系
  • dur持续时间或努力时间满足请求从请求开始汇总到字节冲入网络响应
  • 北特市TCP往返时间从服务器角度上打包
  • 缓存失手或失手
  • 康南市请求计数TCP套接字
  • fpconn系统请求计数流出TCP套接字
注释 :

对,非人可读性,但这是允许Jaavascript从程序上访问这些额外字段的唯一机制

几个重要注解

  • 有三个不同名称曝光云化,阿卡迈快速.与不同的服务提供商相关优先从服务器输入,最后两个从CDNs输入
  • 多重性服务器Timing项-逐项hop沿途旅行
  • 检查启动时间轴历史记录服务器Timing项还保留这可能是缓存点击CDN,但你仍然会看到这个项从何而来,当它添加到缓存中时等

以下是部分趣味观察,

考虑下列响应:

server-timing: cloudinary;dur=94;start=1516653847.986;total=94 server-timing: akam;dur=16;start=1516653847.922;total=207;desc="~(cache~'miss~rtt~57~id~'1ca34068~pconn~7~f_pconn~1)" server-timing: akam;dur=16;start=1516653847.879;total=278;desc="~(cache~'miss~rtt~26~id~'9ca8e39~pconn~1~f_pconn~1)"

分解自下向上(从下向上读取,因为页眉累积加法):

  • 从浏览器的视角看,此资源摄取~400ms:
letTiming= window.properation.getEntriesresTiming.responseStart - resTiming.requestEnd!398
  • CDN边缘节点取278ms完成请求
  • 失密缓存
  • 归根结底,CDN使用父节点取207ms透视
  • 内存缓存并需要去源头
  • 终于转机请求服务器 耗时94米

时间去了哪里

  • 浏览器到CDN需要TCP连接RTT26ms使用~100ms连接tCP
  • 数层CDN连接等
  • 实际思维时间为94ms
  • 额外时间由TCP管理,而不是服务器思考时间
  • 万一有缓存触发器 免征附加税

学到的教益继续缓存很重要-见#2Souder网络性能规则缓存误差可能导致用户等待,因为TCP对线握手更多理由我们需要优化使用CDN

有许多有趣的实验 我们希望这些数据能帮助照亮个人化英雄图像因非缓存并按需生成而缓慢加载吗?转换率用于什么高速缓存?这些都是有趣的假设 很容易观察带RUM工具Lux等词可以添加点Javascript 添加到性能仪表板上

LUX+Window.LUX//查找浏览器服务器英雄图像时令HeuImg= window.properation.getEntriesByName//测试缓存点击let缓存hit=/cache~'hit/.test//加值LUX.addata1:0

从那里很容易绘制实战撞击结果图供用户使用振奋人心

和所有新事物一样,有许多理由不接受或支持它下表列出我们快速考虑的反对

  1. dev团队-我们将揭开技术欠债,而我们不知道柜子里可能有什么骨架

    对期望有几件难为情无公司完美无缺技术债务帮助提高服务质量

  2. 产品团队-这不会使我们停业吗?客户会自己建

    可能吧但不似然思想自由丰富服务透明化后 服务失效 无法为客户提供足够价值

  3. 以客户身份,这不会减慢下载吗? 用这些附加信头下载我的用户

    这也是我们共同关切的问题,也是我们想谨慎行动的原因现实中 外加服务器Timing信头数为~100字节典型图像24KIB增长0.4%。并不会增加寄送用户包数, 因为多包都“半空式 ” 。事前我们会观察 并在不久的将来报告

多事规划深入了解业务

首先我们需要找到介乎关系和可操作性之间的平衡,近期内我们将发布更多细节分享如果你有意见和思想,我们想听听

更重要的是,我们有一些伟大的想法 如何使用服务器Timing改善业务真正令人振奋的想法事实保持监听

特征仍在演化你会发现我们正在使用 几个非标准域像总计启动.和我们使用德克族字段提供自定义细节.变换为特征进化.

如前所述,这是开始我们致力于为您提供更高的透明度 并深入了解服务如果你有意见 思想或顾虑 我们想听听如何提供更多细节帮助您的业务帮助作业队帮助营销团队我们想从你那里得到消息留意下注释部分

下批中我们将探索服务器Timing更多细节和一些令人兴奋使用案例

回顶

特征邮箱

Baidu
map