我知道utplsql的單元測試,有沒有一種方法可以在循環中使用它來加載測試我的存儲過程?有沒有一個工具來加載測試PLSQL
我不想通過任何JDBC驅動程序使用JMeter的或去 - 只是想分析存儲過程
香草我知道utplsql的單元測試,有沒有一種方法可以在循環中使用它來加載測試我的存儲過程?有沒有一個工具來加載測試PLSQL
我不想通過任何JDBC驅動程序使用JMeter的或去 - 只是想分析存儲過程
香草我不認爲一個單元測試工具,是正確的做法的表現,因爲你沒有真正做出關於功能的斷言。通過負載測試,您想知道過程如何以大量數據運行,以及是否需要多次調用。
因此,您可能想要在循環或大表中運行它,並使用分析器查找bootlene。如果你使用11g,你應該退出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;
/
顯然,這不會幫助你在生成數據的採空區進行負載測試。這總是最難的部分:)
所有經典的供應商性能測試工具,LoadRunner,Silk Performer,QALoad和Rational Performance Tester都可以直接執行數據庫功能,以直接或針對存儲過程執行查詢性能測試。
這些工具具有此功能的原因是因爲當客戶端=服務器的標準是雙層數據庫胖客戶端體系結構時,它們通常在市場上存在十年以上。自2000年以來市場上出現的大多數東西都是非常網絡化的。
這裏有一篇有趣的文章:http://www.dba-oracle.com/t_benchmark_testing.htm – diagonalbatman
JDBC有什麼問題?調用存儲過程的開銷應該可以忽略不計(與過程的運行時相比) –
@a_horse_with_no_name:我們已經有了一些JDBC測試結果,我們只想進一步拆分爲DB。在Oracle驅動程序上啓用DEBUG會在實際時間內提供幫助嗎? – shinynewbike