Есть ли инструмент для загрузки теста PLSQL - PullRequest
3 голосов
/ 09 ноября 2011

Я знаю о utplsql для модульного тестирования, есть ли способ использовать это в цикле для загрузки теста моей хранимой процедуры?

Я не хочу использовать JMeter или проходить через какие-либо драйверы JDBC - просто пытаюсьпроанализировать производительность ванильного Stored Proc

Ответы [ 2 ]

4 голосов
/ 09 ноября 2011

Я не думаю, что инструмент модульного тестирования является правильным подходом, потому что вы на самом деле не делаете утверждений о функциональности. С нагрузочным тестом вы хотите знать, как процедура выполняется с большим объемом данных, если она вызывается много раз.

Так что вы можете запустить его в цикле или на большой таблице и использовать профилировщик для поиска загрузочных шеек. Если вы на 11g, вы должны проверить встроенный иерархический профилировщик .

Примерно так:

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

Очевидно, что это не поможет вам в создании блоков данных для нагрузочного тестирования. Это всегда самая сложная часть :)

0 голосов
/ 10 июня 2012

Все классические инструменты тестирования производительности вендоров, LoadRunner, Silk Performer, QALoad и Rational Performance Tester, имеют возможность напрямую использовать базу данных для выполнения тестов производительности по запросам напрямую или с помощью хранимых процедур.

Причина, по которой эти инструменты обладают такой способностью, заключается в том, что они обычно существовали на рынке в течение добрых полувека, когда стандартом client = server была двухуровневая архитектура толстого клиента базы данных. Большинство материалов, появившихся на рынке с 2000 года, в основном относятся только к сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...