120 likes | 263 Views
Hardware Performance Testing Tools (Oracle DB). By: Casey Dyke (Macquarie Bank) Yury Velikanov (Pythian) & All of you. Hardware Performance testing (Oracle context). Goals Have a simple as possible reproducible test to estimate HW performance Based on the test output
E N D
Hardware Performance Testing Tools (Oracle DB) By: Casey Dyke (Macquarie Bank) Yury Velikanov (Pythian) & All of you
Hardware Performance testing (Oracle context) • Goals • Have a simple as possible reproducible test to estimate HW performance • Based on the test output • Evaluate if a hardware current performance corresponds to specification • Compare different HW performance • Forecast application performance improvement in case of migration to a different HW • Establish a baseline in case there any suspicious that HW don't perform as expected • Requirements • As simple as possible • As close to Oracle RDBMS load as possible • The same on different platforms
Hardware Performance testing (Oracle context) • Goals • Have a simple as possible reproducible test to estimate HW performance • Based on the test output • Evaluate if a hardware current performance corresponds to specification • Compare different HW performance • Forecast application performance improvement in case of migration to a different HW • Establish a baseline in case there any suspicious that HW don't perform as expected
My experience from the field • TESTLIO • CPU & Memory Oracle Calibration Test. • As simple as possible. Do exactly that DB is doing 95% of the time. • Takes 3M space, 5-20 secs to execute. • Run in idle timeframe. No impact on application. • Run TEST • ..\..\..\..\..\1w\SQL\testlio.sql • Make TEST • ..\..\..\..\..\1w\sql\mktestlio.sql NOTE: DB block size has an impact on the results
ORION (Oracle I/O Calibration Tool) • Google: orion oracle • http://www.oracle.com/technology/software/tech/orion/index.html • A single executable (Users Guide) • Available for mainstream platforms • Advantages • Simple to setup & run • No need to install anything (copy & run) • Use the same calls as Oracle RDBMS does • Can be used be used in Read Only (default) and Read Write modes • Complete and Understandable results • Flexible • Disadvantages • Runs against device (access to /dev/sdbx) • Unreliable with NFS and FS (my experience)
ORION (Oracle I/O Calibration Tool) • FDISK • Aligning ASM Disks on Linuxhttp://www.pythian.com/news/411/aligning-asm-disks-on-linux/ • ORION • echo /dev/sdb1 > ./sdb1.lun • nohup ./orion_linux_x86 -run simple -testname sdb1 & • ./orion_linux_x86 –help • Theoretical IO results • 1 spindle give us 100 IOPS / 50 MBPS (10)
DBMS_RESOURCE_MANAGER.CALIBRATE_IO • Oracle I/O Calibration Tool • 11GR2 new feature • Isn’t documented well • 100% DB IO Calls testing • Overcome ORION limitations • Easely can be used on any Oracle storage solution (including NFS) • It Seams it gives relayable results • ..\..\..\..\..\1w\sql\cio.sql • ..\..\..\..\..\1w\SQL\cio_results.txt
Disadvantages of a simple test • Doesn’t test concurrency • Doesn’t test different operations • Isn’t close to your application • Doesn’t test your application dynamic behavior
HAMMERORA • Tool Command Language (pronounced "tickle") • http://www.orafaq.com/wiki/Tcl • Tcl, or Tool Command Language (pronounced "tickle") is a simple, open-source-licensed programming language similar to Perl and PHP. • OraTCL was adopted by Oracle Corporation and is used for several of the Enterprise Manager (OEM) Event and Job scripts. OraTCL is installed with the OEM Intelligent Agent, and is thus also available for use by Oracle DBAs and developers. • Install • http://hammerora.sourceforge.net • Documntation • http://hammerora.sourceforge.net/tpc-c.htm
HAMMERORA • Setup • Benchmark -> TPC-C -> TPC-C Schema Option • Service Name • System Password • Number of Wirehouses • AWR Snapshot Driver Script • Total Transactions per User • Virtual Users -> Virtoal Users Options • Show Output • Log Output to Temp • TX Counter -> TX Counter Options • Connect String Refresh Rate • config.xml
HAMMERORA • Run • Load Virtual Users (button) • Benchmark -> TPC-C -> TPC-C Driver Script • Run Hummerora Loadtest (button) • Transaction Counter (pensil button)
HAMMERORA • CREATE TPCC DB SCHEMA • create tablespace TPCCTAB ; • Benchmark -> TPC-C -> TPC-C Schema Option • Service Name • System password • Number of Warehouses (100M/1min) • Number of Threads (insert data in parallel) • Create TPC Schema (button) • RE-CREATE TPCC DB SCHEMA • drop user tpcc cascade; • CREATE TPCC DB SCHEMA