产品邦

 找回密码
 立即注册

QQ登录

只需一步,快速开始

通过Qzone前台架构的优化了解如何优化WEB架构及性能

[复制链接]
Vegeta 发表于 2013-2-17 17:50:52 | 显示全部楼层 |阅读模式

立即注册,下载精品资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
WEB性能优化分享.png

Web性能优化分享,对于一个不断发展的Web应用,优化如同逆水行舟,不进则退。

从静态化率波动我们看到了:
每个新特性对数据产生的影响
每次数据迁移带来的影响
最迫切需要主动静态化的数据
程序的bug(相册无封面、个人信息转义符,甚至留言板XSS)
服务器压力不均造成的影响
当前系统的趋势是在变好还是变坏

从时间点统计曲线我们看到了:
每天24个时段的用户感受如何
各个省份各个ISP当前情况如何
用户花多少时间看到页面
用户花多少时间才能和页面交互
这些时间是怎么花掉的
哪些用户花费的时间特别多
我们应该从哪里下手继续优化

用各种第三方工具我们看到了
页面打开过程一般会发生些什么事情
某一个用户在打开某个页面时发生了什么
什么时候浏览器在发呆
哪些过程产生了堵塞,为什么堵塞
有没有不必要的请求和不必要的流量
如果网速很慢,会发生什么事情
如果电脑很慢,会发生什么事情
怎么让用户感觉好一点

我们做了许多些别人建议的事情
合并图片,合并脚本,压缩代码,使用Gzip,,合并CSS,控制cookie膨胀,使用CDN,SEO……

资源检查(针对html,js,swf,css,图片等)
        是否新增加了文件请求?
        是否有404请求?
        新增加的文件请求响应中是否有expirex头(好头)?
        新增加的文件请求响应中是否有etag头(坏头)?
        新增加的文件请求是否支持gzip压缩?
        新增加的文件请求下载过程是否有block?
        新增加的文件请求下载过程是否导致其他资源block?
        新增加的文件请求能否延迟加载?
        是否减少了文件请求或者合并了文件请求?
        新增加的请求能否被浏览器缓存?
        新增加的请求是否适合进行长时间缓存?
        在empty cache和full cache两种情况下,是否有重复的文件请求?
        在empty cache和full cache两种情况下,是否有abort的文件请求?
        新增加的文件请求是否需要通过一个301/302跳转
        (针对imgcache)新增加的文件是否适合分散到新域名下?

Js检查
        新增加的js请求能否合并到现有的js请求或者页面请求中?
        新增加的js请求是否在关键路径上?
        新增加的js请求能否放到body之后加载?能否延迟异步加载?
        新增加的js文件是否重写了大量已有js文件的代码?
        Js文件能否进行混淆和压缩?
        循环中的计算有没有能提出到循环外进行的?
        有没有大量连续的字符串连接操作(如有考虑用数组join)
* CSS检查
        新增加的CSS是否有相互import?
        新增加的CSS是否大量复写了原有CSS文件的大量规则?
        新增加的多个CSS能否合并?
        CSS能否直接写到html页面中(可复用性高吗?)?
        是否使用了expression?
        是否在hover样式中重新声明了背景图片(会导致重复请求)?

限速检查
        是否进行过netlimiter限速测试?
        在限制IE下载进程为2个和8个两种情况下打开页面的速度是否有明显差异?
        是否进行过cpukiller限速测试?
* http检查
        DNS Lookup次数:
        Block 请求个数(请求的):
        关键路径上Block请求个数
*Cookie检查
        是否创建了新的cookie?
        是否创建了新的文件cookie?
        是否创建了新的qq.com域名cookie?
        能否用user-data或者share object代替cookie?
* 图片检查
        新增加的图片能否延迟到用户要看的时候再加载?
        新增加的图片是否用innerHTML方式填充到页面中的(可能导致重复请求)?
        新增加的图片是否需要进行预加载?
        新增加的图片能否合并到已有的图片中?

Html检查
        是否使用了iframe?
        Css是否写在head中?
        Script是否(能否)写到页面最下面?
        Html文件能否进行混淆和压缩?
        Inline的css是否使用了了expression,是否在hover样式中重新声明了背景图片?
* flash检查
        Flash是否使用了比较耗费cpu的渲染效果?
        Flash是否超过了100k?
        Flash是否需要下载额外的网络资源?
        Flash能否延迟加载?
* Ajax检查
        页面能否分阶段渲染?
        页面能否边显示(或者交互)边渲染
        写操作是否用post方式提交
        读操作能否用json方式请求?
        CGI能否允许cache,能否支持304响应,能否支持Gzip压缩

游客,如果您要查看本帖隐藏内容请回复
cyrus 发表于 2013-2-17 18:12:16 | 显示全部楼层
web性能测试优化的典范啊。
Hellena@IT 发表于 2013-5-29 16:05:35 | 显示全部楼层
QZone这两年的改版比之前好了很多,不过还有很大的提升空间
chtimi 发表于 2013-6-17 12:41:26 | 显示全部楼层
mark一下 哈哈
llinz 发表于 2013-7-26 17:03:49 | 显示全部楼层
感谢楼主无私奉献精神
啤酒唆螺 发表于 2014-3-27 14:36:15 | 显示全部楼层
这块一抹黑啊,先看下能看懂不
zzhnh1990 发表于 2014-4-19 14:44:13 | 显示全部楼层
下下来看看!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|产品经理之家 ( 粤ICP备12078725号 )

GMT+8, 2021-4-11 08:43

Powered by 产品邦

© 2012-2020

快速回复 返回顶部 返回列表