web性能提升

优化TCP性能

将服务器内核升级到最新版本(Linux:3.2+)

1.增大TCP的初始拥塞窗口

把服务器的初始cwnd值增大到RFC 6928新规定的10段(IW10),是提升用户体验以及所有TCP应用性能最简单的方式

2.慢启动重启

在连接空闲时禁用慢启动可以改善瞬时发送数据的长TCP连接的性能。

3.窗口缩放

启用窗口缩放可以增大最大接受窗口的大小,可以让高延迟的连接达到更好的吞吐量。

4.TCP快速打开

在某些条件下,允许在第一个SYN分组中发送应用程序数据。TFO(TCP Fast Open,TCP快速打开)是一种新的优化选项,需要客户端和服务器共同支持。为此,首先要搞清楚你的应用程序是否可以利用这个特性。

4.1 减少传输冗余的数据

4.2压缩要传输的数据

4.3把服务器放到离用户最近的地方(cdn)

4.4尽最大可能重用已建立的TCP连接。

 

 

性能打点(可参考Navigator Timing)

兼容性 https://caniuse.com/#search=nav-timing

function init() {
performance.mark("startTask1")
applicationCode()
performance.mark('endTask1')
logPerformance()
}


function logPerformance() {
   let perfEntries = performance.getEntriesByType('mark');
   for(let i = 0;i<perfEntries.length;i++){
        console.log(`Name: ${perfEntries[i].name},Type: ${perfEntries[i].startTime},Ducation: ${perfEntries[i].duration}`)
    }
   console.log(performance.timing);
}

预加载以触发浏览器为我们采用的优化机制

1.预解析特定的域名
<link rel="dns-prefetch"  href="//hostname_to_reslove.com">
2.预取得页面后面要用的关键性资源
<link rel="subresource"  href="javascript/myApp.js">
3.预取得将来导航要用到的资源
<link rel="prefetch"  href="//xxx.big.jpeg">
4.根据对用户下一个目标的预测,预渲染特定的页面
<link rel="prerender"  href="//hostname_to_reslove.html">

warning: 注意各大浏览器的兼容性

 

参考

1.web性能权威指南

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值