Top Tools for Troubleshooting & Performance Benchmarking
Jim Hannan (@jim_m_hannan), Principal Architect
Is this blog, we have gathered some of our favorite blogs and tools related to benchmarking and performance troubleshooting. Feel free to bookmark this blog, as we will be updating it as we author new blogs on performance and benchmarking tools. To help identify the right tool for the job, we broke the tools into two categories, benchmarking and performance troubleshooting.
|Tool and Blog||Description|
|Oracle Benchmarking and Tier 1 Readiness||Why benchmark? Benchmarking provides a measurement of your hardware and scalability. Often during benchmarking, customers expose weaknesses or misconfigurations. Additionally, benchmarking establishes baselines for future benchmarking and performance troubleshooting. But most importantly, benchmarking tests the platform for Tier 1 readiness.|
|House of Brick SLOB Setup Part 1||
In part 1 of this blog we take a look at one of our favorite load testing tools. We like to use SLOB for a Proof of Concept or deploying Oracle on new architecture to validate the configurations and hardware. Additionally, this tool will allow for building performance baselines.
|House of Brick SLOB Part 2 and dbtimemonitor||In part 2 of the follow-up blog for SLOB, we cover how to setup dbtimemonitor to determine top timed wait events for the database. This shows, in real-time, wait events so the SLOB test can be tuned for the desired results.|
|Load Testing with HammerDB||HammerDB is a free, open-source tool that allows for generating a synthetic database workload based on the industry standard TPC-C (OLTP) and TPC-H (DSS/DWH) benchmarks. HammerDB supports Oracle, SQL Server, TimesTen, PostgreSQL, Greenplum, Postgres Plus Advanced Server, MySQL, Redis, and Trafodion SQL on Hadoop, by utilizing an extensible framework of tooling.|
|Swingbench Installation and Setup||Swingbench is a Java based load generator for Oracle developed by Dominic Giles, and can be used to perform load testing. Swingbench is a versatile tool in that it does not always need to be used for load generation. It can be also used as an effective way to validate Oracle RAC configurations and can be used to test new Oracle software or patches. In addition, it can assist in evaluating new features or releases of Oracle.|
|Oracle Calibrate I/O – Part I||Calibrate I/O can generate I/O intensive read-only random I/O (db_block_size) and large-block (1MByte) sequential I/O. Unlike other I/O testing tools, it uses the Oracle kernel to closely match random and sequential reads of the Oracle database. It is a good tool for I/O testing an existing database. We have also used it to baseline IOPS and determine max throughput for a storage array.|
|IOMeter Simple and Effective||House of Brick has been using IOMeter as far back as 2007 to run thousands of tests for customers. Its designed is to do I/O benchmarking while providing an intuitive and effective interface through the GUI. The only drawback to the tool is that it was written for older Linux kernel that can do only synchronous I/O not the faster more efficient asynchronous mechanism.|
Performance Troubleshooting Tools
|Tool and Blog||Description|
|Troubleshooting Oracle Performance Issues||The goal of this blog is to provide a context and methodology that encourages a problem resolving dialogue between DBAs, developers and business users. Troubleshooting any problem involves developing a narrative. Often times the DBA is notified simply as the system is running “slow”. This blog gives insights to the methodology we use to quickly identify performance problems and remediate them.|
|NMON – OS Metrics||
We take a look at one of our favorite OS metric tools, NMON. NMON can be used for building performance baselines and troubleshooting performance in real-time.
|Oracle AWR and statspack Reports – Performing an Initial High Level Review||Covers some of the items reviewed in an AWR and Statspack report when performing an initial, cursory assessment of an instance and server before a conducting a more involved analysis. The decision to use Statspack or AWR is made based on products the client has licenses for. Using Statspack reports is safest if you are unsure about your Oracle licensing.|
|Troubleshooting Oracle Performance – Part 2||Looks at Oracle session views, Statspack SQL sections, and table and index statistics that help DBAs and developers understand the background for why a statement is performing poorly. It briefly reviews the top SQL statements section in a Statspack report. In order to tune a SQL statement, it is important to first understand why it is performing poorly.|
|Troubleshooting Application Performance Issues Part 1||Discusses some of the OS tools available to identify application performance issues and bottlenecks. We touch on a few tools to quickly identify where in the application you should be looking to remediate a performance issue.|
|Troubleshooting Application Performance Issues Part 2||In this blog, we take a look at troubleshooting Java on middleware. Effectively tuning Java requires knowledge of the operating system and how it works. We also describe one of the more common Java performance issues – garbage collection (GC).|
As you can see, there are a number of good tools available for the type of testing or troubleshooting you need to perform. In upcoming blogs, we will cover tools that are typically available natively as part of the OS install for Linux and Windows. If you have questions on any of the blogs or tools mentioned, let us know in the comments below.