关注于测试自动化和测试管理,我是一个永远的测试新手。
使用OSCache缓存的性能调优验证
上一篇 /
下一篇 2007-11-22 14:10:05
/ 个人分类:Loadrunner
%z.gl_U0使用OSCache缓存的性能调优验证
f$Ds8p7w5w7u_P00U`9F)Dt0好久没写了,最近项目太多,目前手里还有2个性能测试的项目排着,偶都快成脚本机器了,不说废话了。51Testing软件测试网2_(G,O
d ?Rg:h
51Testing软件测试网:PO-t+i#t&bI$|"l最近测试一个java开发的项目时,由于程序逻辑超级复杂,有些逻辑需要从3个表甚至以上获取数据,然后进行运算,导致SQL Server 2005压力超大,数据库连接池跑一会儿就满,每个事务的交易响应时间也超过40秒,反正就是性能一塌糊涂,匆忙写了一份报告告诉领导,他们现在这个不行,要不调整框架,要不进行调优。51Testing软件测试网};h V:C6N!K!a
51Testing软件测试网 RJ8\)~s&Gy开发后来把这几个页面进行了程序级的缓存,但是执行效果仍然不理想,直到后来采用了OSCache技术。
.{`3D'O,J051Testing软件测试网"L@ kq:HY S}OSCache是一种以标签为基础,对页面进行快速内存缓冲的技术,目前应用比较普遍。具体介绍:http://hanfeng.blogbus.com/logs/2004/08/324010.html
-NVuD7|;[^9K0N0F0
u.j'}8oh#WrWKT0我们调优时,尝试了2种不同的方式,一个是Cache到内存,一个是Cache到磁盘。
gW.@EjS7O
K)_03H$} xV!d0Cache到内存很好理解,当用户发送第一个交易请求后,服务端去数据库取数据,然后运算完毕,返回结果值,同时把值作为cache放到内存里,下次再次发送对应请求则直接到内存里读;CACHE到磁盘里就是生成一个文件,同时在内存中生成对应文件的索引,再次访问时直接通过索引找文件读取。51Testing软件测试网
W
Nc|e3JV
51Testing软件测试网j$l0LI;y4Oz)K4bX调整后,两种方法分别验证发现效率差不多,不同的只是是牺牲磁盘效率还是牺牲内存而已。
aU
k*c"S051Testing软件测试网q`BD;~s到了这里,大家应该可以发现,时效性高的程序(就是数据更新较为频繁)使用这个技术效果没有时效性低的程序大。51Testing软件测试网O5mR'BZN1b.y
51Testing软件测试网m
cL%j&F#C:U"i;h个人理解,加了缓存的页面就想访问静态页面,当然非常快了。
Q-hgc*a5a3zm051Testing软件测试网R"f3{*O Ukq$sh不过也发现这项技术有使用的局限性:
o'SA6f+M A%y0如果每次提交的请求必须完全相同(这样才能访问对应的cache;如果不同则不走cache直接去执行程序,那缓存无意义),例如:java的face类因为POST请求时,有关联项,每次51Testing软件测试网3P2`k6N#apEf
j^
X)Ov e1ea0请求都不一样,所以不能使用,要修改为html;
5xRL8Frm+B5B6y\&O051Testing软件测试网*V~%t?q[_|5m){.H:l\前后测试结果对比:
3lOr2j
Rc-P0==============================================================
D$MK+Jge0测试点 前并发数 前交易响应时间 后并发数 后交易响应时间51Testing软件测试网*KfDB G2|\$o|
测试一 200 40.53秒 1000 3.44秒
6d-KD4W!tvN0测试二 300 43.42秒 500 0.707秒
DkSGU0测试三 300 27秒+ 500 2.06秒
$M+P+D"D8Q|0测试四 300 20秒+ 500 2.83秒
g;G(m/Nz,c0测试五 300 20秒+ 500 2.56秒51Testing软件测试网3p n0j]S+v
测试六 300 20秒+ 500 3.59秒
$BuI*Daa mbz0==============================================================51Testing软件测试网K$k s im1PL
相关阅读:
- 使用LoadRunner,其实很简单 (sacri, 2007-11-17)
- LR中错误代号为27796的错误原因 (ilovezhoujoe, 2007-11-19)
- LoadRunner如何测试WebService (51testing, 2007-11-19)
- LoadRunner录制脚本时提示默认浏览器不支持解决方法 (51testing, 2007-11-19)
- 谈谈LoadRunner中Pacing的设置 (51testing, 2010-1-06)
- 在LoadRunner中使用windows socket协议 (51testing, 2007-11-20)
- 如何在loadrunner中进行关联 (51testing, 2007-11-20)
- 如何在loadrunner中进行关联 (zeng_dakui, 2007-11-20)
- 谈谈LoadRunner中Pacing的设置 (zeng_dakui, 2007-11-20)
- 性能测试的方法论 (zeng_dakui, 2007-11-20)
收藏
举报
TAG:
LoadRunner
验证
Java调优
Loadrunner