一个朋友做了2年前端重构,不知道 YSLOW.我推荐给他的时候,他惊呼这工具很强大. YSLOW 只是 Yahoo 前端发布的一个评测网站前端质量的插件.它的原理是基于 Yahoo 前端工程师提出来的优化方案.关于YSlow的详细解释网上资料大都不详尽,而且说法有多偏差. YSlow 的权威解释可以参照书籍<High Performance Web Sites>O’Reilly出版的. 电子工业出版社翻译了这本书,中文名叫<高性能网站建设指南>,想深入研究高性能网站建设的前端工程师…
这两本书就一块儿搞了,大多数已经理解,简单做个标记.主要对自己不太了解的地方,做一些记录.   一.读<高性能网站建设指南> 0> 黄金性能法则:只有10%~20%的最终用户响应时间花在了下载HTML文档上.其余的80%~90%时间花在了下载页面中的所有组件上. 1> 尽量减少HTTP请求 2> 使用CDN 3> 添加Expires头 4> 采用Gzip压缩组件 5> 将样式表放在顶部 6> 将脚本放在底部 7> 避免CSS表达式 8> 使…
只有10-20%的最终用户响应时间花在了下载HTML文档上.其余的80-90%时间花在了下载页面中的所有组件上. 规则1.减少HTTP请求 图片地图:将多个图片合并成一个,而后通过css定位显示不同的位置 CSS Sprites:同上 内联图片 合并脚本和样式表 规则2.使用内容发布网络(CDN,Content Delivery Network) 规则3.添加Expires头 Expires头:在这一日期/时间之后,响应将被认为是无效的 Max-Age: 设置相对有效时间Cache-Contro…
<高性能网站建设进阶指南> 优化原则 优化的目的是希望降低程序的整体开销. 减少开销 通常认为开销就是程序的执行时间.而在进行优化工作时,应该把重点放在对程序开销影响最大的那部分. 假设我们有四个模块:A,B,C,D,其中模块A运行所需开销54%,模块B运行所需开销4%,模块C运行开销30%,模块D运行开销12%. 即使可以通过某种方法将模块B性能开销减少到2%,其实也只是降低了整体开销的2%.如果A的开销减少10%,却可以获得更好的效果,而显然模块A更值得去优化.优化那些开销不大的模块回报太…
high performance web sites 1,减少HTTP请求数 (1)图片加载使用image maps 或者 CSS Sprite (2)使用非http协议,如(ftp:, file: mailto: data:URL等,已被IE废弃) (3)合并css和js代码文件 2,使用内容分发网络(CDN:content delivery network) 当然使用cdn有优点也有缺点:成本高,不受控制,和其他客户竞争cdn带宽 3,增加expires头,控制缓存时间 (1)设置expir…
什么是数据库分区?数据库分区是一种对表的横向分割,Sql server 2005企业版和之后的Sql server版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的,用户并不会感觉的表被横向分割了.(2000中的表横向分割是建n个表例如按时间建表每月一个表,表名不同,最后需要做一个大视图) 关于具体的如何做分区,请参考数据库分区演练 为什么要分区?显而易见分区是为了提高数据库的读写性能,提高数据库的效率: 分区是否总是可以提高效率?分区是一把双刃剑,并不总能提高…
web性能权威指南(High Performance Browser Networking) https://www.cnblogs.com/qcloud1001/p/9663524.html HTTP协议是前端性能乃至安全中一个非常重要的话题,最近在看<web性能权威指南(High Performance Browser Networking)>,把其中关于HTTP部分的内容拿出来分享一下,加了一点自己的想法,当然没有<HTTP权威指南>讲得详细,但对于理解我们平常做的事情很有启…
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果.因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说,这是很有必要俱备的网站制作基础条件. 如果某项请求发送到您的服务器要求显示您网站上的某个网页(例如…
对于高性能网站的架设,主要就是请求量大,那我们该如何进行支撑? 考虑到下面的几个方面: 1.要减少请求,那对于开发人员来说,网站的css文件进行合并,背景图片也要合并,一般都是请求一张比较大的图片,然后在进行分割,然后就是减少mysql的查询. 2.对于前端的nginx,我们使用nginx的expire参数,利用浏览器的缓存等,来减少后端服务器的查询. 3.对于前端的静态的文件,我们使用cdn来进行分发请求. 那到了最后一步,不可避免的请求-----我们呢可以使用服务器集群+负载均衡来支撑. 所…
集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应,我们必然想到的是将数据进行切片,把数据根据某种规则放入多个不同的服务器节点,来降低单节点服务器的压力. 上一篇我们讲到了 Redis 的主从复制技术,当实现了多节点的 master-slave 后,我们也可以把它叫做集群,但我们今天要讲的集群主要是利用切片技术来组建的集群. 集群要实现的目的是要将不同的 key 分散放置到不同的 redis 节点,这里我们需要一个规则或…