是否有用于负载测试PLSQL的工具 [英] Is there a tool to load test a PLSQL

查看:220
本文介绍了是否有用于负载测试PLSQL的工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道用于单元测试的utplsql,有没有办法在循环中使用它来对存储过程进行负载测试?

I know of utplsql for unit testing, is there a way I could use this in a loop to load test my stored procedure?

我不想使用JMeter或使用任何JDBC驱动程序-只是想分析香草存储过程的性能

I dont want to use JMeter or go through any JDBC drivers - just trying to analyze the performance of the vanilla Stored Proc

推荐答案

我认为单元测试工具不是正确的方法,因为您并没有真正对功能进行断言.通过负载测试,您想知道一个过程如何处理大量数据,以及是否被多次调用.

I don't think a unit test tool is the right approach, because you're not really making assertions about functionality. With a load test you want to know how a procedure runs with a large volume of data, of if it's called lots of times.

因此,您可能希望循环运行或针对大表运行它,并使用探查器查找毛刺.如果您使用的是11g,则应查看内置的分层探查器.

So you might want to run it in a loop or against a big table and use a profiler to find bootlenecks. If you're on 11g you should check out the built-in hierarchical profiler.

类似这样的东西:

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;
/

很显然,这不会帮助您生成用于负载测试的数据块.这始终是最难的部分:)

Obviously, this won't help you in generating the gobs of data for load testing. That's always the hardest part :)

这篇关于是否有用于负载测试PLSQL的工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆