关注于测试自动化和测试管理,我是一个永远的测试新手。
使用OSCache缓存的性能调优验证
上一篇 /
下一篇 2007-11-22 14:10:05
/ 个人分类:Loadrunner
51Testing软件测试网RaE0I([?使用OSCache缓存的性能调优验证51Testing软件测试网c
k8ToZ2z%n
A3k Z9JD1co_!W0好久没写了,最近项目太多,目前手里还有2个性能测试的项目排着,偶都快成脚本机器了,不说废话了。51Testing软件测试网(D0QW5x(sBx
w$]1~iT+l?O0最近测试一个java开发的项目时,由于程序逻辑超级复杂,有些逻辑需要从3个表甚至以上获取数据,然后进行运算,导致SQL Server 2005压力超大,数据库连接池跑一会儿就满,每个事务的交易响应时间也超过40秒,反正就是性能一塌糊涂,匆忙写了一份报告告诉领导,他们现在这个不行,要不调整框架,要不进行调优。
DH;\x6SZ%[051Testing软件测试网CA9f `-E.RXyl开发后来把这几个页面进行了程序级的缓存,但是执行效果仍然不理想,直到后来采用了OSCache技术。51Testing软件测试网/J0b'l _q(qI
51Testing软件测试网4N|2kK tE)y"EOSCache是一种以标签为基础,对页面进行快速内存缓冲的技术,目前应用比较普遍。具体介绍:http://hanfeng.blogbus.com/logs/2004/08/324010.html51Testing软件测试网Po8{+X8Z.pO
51Testing软件测试网1r:XQda2|我们调优时,尝试了2种不同的方式,一个是Cache到内存,一个是Cache到磁盘。51Testing软件测试网%G7Yz:di M
1K{P1BXJ0Cache到内存很好理解,当用户发送第一个交易请求后,服务端去数据库取数据,然后运算完毕,返回结果值,同时把值作为cache放到内存里,下次再次发送对应请求则直接到内存里读;CACHE到磁盘里就是生成一个文件,同时在内存中生成对应文件的索引,再次访问时直接通过索引找文件读取。
CT(N.UR!A]051Testing软件测试网+k%o3@H\0K ?调整后,两种方法分别验证发现效率差不多,不同的只是是牺牲磁盘效率还是牺牲内存而已。
Z a7lc0B4_JV051Testing软件测试网J~d7@6u3l到了这里,大家应该可以发现,时效性高的程序(就是数据更新较为频繁)使用这个技术效果没有时效性低的程序大。
o(__%@"ny051Testing软件测试网
m8zuO3e3\6ET hE
z)w个人理解,加了缓存的页面就想访问静态页面,当然非常快了。
s1`!^ ~.B&O3O'|X|^051Testing软件测试网.]%Jl0L%j不过也发现这项技术有使用的局限性:
xD+Y3m,g5~V{*L5^0如果每次提交的请求必须完全相同(这样才能访问对应的cache;如果不同则不走cache直接去执行程序,那缓存无意义),例如:java的face类因为POST请求时,有关联项,每次
CVTJ9~b\HK051Testing软件测试网T1^"Y6]0^Q1}请求都不一样,所以不能使用,要修改为html;51Testing软件测试网,{e(H#\Ubn7d
51Testing软件测试网{5q)| H
Mv,~a3m前后测试结果对比:51Testing软件测试网,JuC1t)\Qe[r
==============================================================
#U
_(Poz M0测试点 前并发数 前交易响应时间 后并发数 后交易响应时间51Testing软件测试网L_c3~;Rn
测试一 200 40.53秒 1000 3.44秒51Testing软件测试网]voO&WC*w2y
测试二 300 43.42秒 500 0.707秒
Iuq[q
J7anyK6|.r0测试三 300 27秒+ 500 2.06秒51Testing软件测试网z
V ?7MKrLz%a
测试四 300 20秒+ 500 2.83秒
m{GCfM8kB,\p0测试五 300 20秒+ 500 2.56秒51Testing软件测试网6pD\)} fv
测试六 300 20秒+ 500 3.59秒
ABG6G5R0==============================================================51Testing软件测试网ud}#r&R"HH
c+N
相关阅读:
- 使用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