萨满好看的幻化套装:高访问网站性能和压力综合分析 - worm128的日志 - 网易博客
高访问网站性能和压力综合分析
【原创】技术文章 2011-01-14 17:14:05 阅读72 评论1 字号:大中小 订阅
2011-1-11记录
游戏频道主要压力页面
newgame/listAll.aspx
newgame/gameSpec.aspx
游戏频道总耗内存:400M~500M
游戏频道浮动内存副本:100M以内
游戏频道总内存副本的增量
总:7M~12M/秒
listAll.aspx:700K/次
gameSpec.aspx:600K/次
怀疑:
装箱拆箱的问题,本地缓存和memecache的装箱拆箱问题,看改为静态是否有好转
注:静态不用装箱拆箱
2011-1-13 记录
底层整表加载都是静态(三大表网站启动时自动加载):
GameListBind 机型绑定视图、GameListBindNot综合列表视图、GamePic截图表
用户触发加载整表:
GameFtype、GameMendName、GameStyle
整表用静态变量而不用本地缓存好处:避免缓存的装箱拆箱
******************************* FindAll性能测试 *****************************
测试机型绑定Lsit整表缓存FindAll性能(整表数据量:12W):
GameListBindBll.Instance.GetGameListCache(69, 1, 0, 0, 0, 0, 0, 0, 0, 0, "", 1, 12, SortDirection.Descending, StatSortExpression.AllCount, out rows);
耗时: 0~20MS
耗内存副本:900K~1.4M / 次
一页缓存的机型绑定Lsit (memecache):
耗时: 0MS
耗内存副本:0k / 次 (内存消耗基本为0)
测试综合游戏列表Lsit整表缓存FindAll性能(整表数据量:2W):
GameListBindNotBll.Instance.GetGameListBindNotCache(1, 0, 0, 0, 0, 0, 0, 0, "", 1, 12, SortDirection.Descending, StatSortExpression.AllCount, out rows);
耗时: 0~15MS
耗内存副本:90K~104k / 次
一页缓存的综合游戏列表Lsit (memecache):
耗时: 0MS
耗内存副本:0k / 次 (内存消耗基本为0)
测试风格Lsit整表缓存FindAll性能(整表数据12行)
GameStyleBll.Instance.GetAll().FindAll(mod => mod.Id == 1);
耗时: 0 MS
耗内存副本:0k / 次
******************************* 调用静态List性能测试 *****************************
测试一个静态变量整表赋值给另一个list变量的性能(整表数据量:12W)
List
耗时: 0 MS
耗内存副本:0k / 次
性能压力矛盾:
1. 数据库条件查询:
如果用一页一缓存的存储过程,那么所有压力都在于数据库的CPU上
2. 代码条件查询:
如果用整表静态FindAll,那么所有压力都在wap服务器的内存增量上
现在程序的调用逻辑
1. 全部加载相关使用的数据表(本地缓存)
2. List.FindAll按条件查出相应数据,然后缓存到memecache
“游戏频道”条件排列组合:
分类16 * 风格12 * 最新 3 * 排行 4 * 热门 4 * 好评 4 * 推荐 4 * 游戏包大小 4
= 589824
“软件频道”条件排列组合:
最新 * 排行 * 推荐 * 评分 * 分类 20 = 80
=====================服务器相关状况==========================
Wap站点
连接数:
Netstat –aes 1 | find “Cur” 查看的连接数在 400~530/S
内存占用:
400M~500M
CPU占用:
10%~25%
数据库
CPU占用:
10%~25%