我知道 utplsql 用于单元测试,有没有办法可以在循环中使用它来加载测试我的存储过程?
我不想使用 JMeter 或通过任何 JDBC 驱动程序 - 只是想分析普通存储过程的性能
我认为单元测试工具不是正确的方法,因为您并没有真正对功能做出断言。通过负载测试,您想知道一个过程如何在处理大量数据的情况下运行,或者是否被调用很多次。
因此,您可能希望在循环中或针对大表运行它,并使用分析器来查找引导程序。如果你使用的是 11g,你应该检查一下内置的分层分析器 http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_profiler.htm#ADFNS023.
像这样的东西:
begin
DBMS_HPROF.START_PROFILING (
location => 'PROF_DATA_FILE_DIR'
, filename => 'HPROF_RUN1_20111109'
);
some_pkg.generate_lots_of_work(p_id => 1234);
DBMS_HPROF.STOP_PROFILING;
end;
/
或者在循环中:
begin
DBMS_HPROF.START_PROFILING (
location => 'PROF_DATA_FILE_DIR'
, filename => 'HPROF_RUN2_20111109'
);
for i in 1..1000
loop
some_pkg.do_this(p_num => i);
end loop;
DBMS_HPROF.STOP_PROFILING;
end;
/
显然,这不会帮助您生成用于负载测试的数据块。这始终是最难的部分:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)