转自:http://blog.sina.com.cn/s/blog_466c66400100bkis.html
--提升性能的同时为你节约10倍以上成本
From: http://blog.sina.com.cn/iyangjian
一,自选股分析
二,NBA比赛分析
三,播客分析
四,开心网分析
-----------------------------------------------------------------------------------------
下面的图片都是在教育网访问的情况,我故意放大了某些缺陷,这样可以很好的模拟没有部署服务的地区对用户体验的影响。我只能针对我熟悉和了解的项目进行分析,另外还有我们经常访问的网站也会被拿来做素材分析。我们老大也说问题暴露出来,能推动解决的话也很好,大家别拍我。
一,自选股分析
某天我终于在教育网部署了一台行情服务,兴致冲冲的回家一试,貌似没啥变化,该慢还慢。打开页面过程持续了几十秒,然后终于露出了行情,我再电击每个组合 的时候就出现了上面的一幕。看了下firebug,最慢资源排名前三依次为:高效计数服务,secure-cn统计服务,动态池服务。
高效计数服务是早期我参与的项目,那时候资源有限,全部部署在了网通。
secure-cn统计服务: 这个服务不慢是不正常的,到处都嵌,还不能不嵌。
动态池数据库很牛,但在偏远地区也鞭长莫及。这个缺点比较典型:
一,没有在教育网部署。
二,没有保持长连接。
三,没有使用cahce
四,没有使用压缩
五,长达2.46K的http 请求header,捎带大量cookie,见下面。
解决方法:我分析了下,下面这个数据变化很慢的,主要放一些市盈率和用户股票列表。市盈率可以通过去年的每股收益来计算,以年计,可以变通一下。用户股票 列表我也好几个月没更新了,大家并不是总更新。所以这部分数据是可以被设置一个很长的cache的,如果用户更新了股票列表,我们也只需要在maxage 版本号上加1就ok了。另外,用户点了一个组合,接看来也都要看几个别的组合,没有维持长连接显然不合理的。在没有部点的idc,压缩就能明显的提升响应 速度,这里就没考虑。那个cookie太长点了吧,真的用的了那么长吗。
http://vip.stock.finance.sina.com.cn/portfolio/stock.php?rn=1228707043897&pid=1245111&type=complete
----------------------------------------------------------------------------------------
GET /portfolio/stock.php?rn=1228707043897&pid=1245111&type=complete HTTP/1.1
Host: vip.stock.finance.sina.com.cn
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: CurrentBar=attend; CurrentTab=state; CombinationSelected=154148; CommisionCookie=0; StampCookie=0; FeeCookie=0; BX=7t1oh653u6qvb&b=3&s=4k; SINA_NEWS_CUSTOMIZE_city=%u5317%u4EAC; userId=C7DHwoAi-ryCr69CGgyc3czekbyphdy5h