<Insert Picture Here> Adventures in Middleware Database Abuse



Similar documents
TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Performance Tuning and Optimizing SQL Databases 2016

A Comparison of Oracle Performance on Physical and VMware Servers

SQL Server Performance Tuning and Optimization

Getting Started with SandStorm NoSQL Benchmark

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

OS Thread Monitoring for DB2 Server

A Comparison of Oracle Performance on Physical and VMware Servers

Oracle Database 12c: Performance Management and Tuning NEW

Microsoft SQL Server: MS Performance Tuning and Optimization Digital

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

Using VMware VMotion with Oracle Database and EMC CLARiiON Storage Systems

Application. Performance Testing

Common Anti Patterns for Optimizing Big Data Oracle Databases

Performance Baseline of Hitachi Data Systems HUS VM All Flash Array for Oracle

Performance And Scalability In Oracle9i And SQL Server 2000

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager. Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering

RED HAT ENTERPRISE LINUX 7

An Oracle White Paper July Oracle Database 12c: Meeting your Performance Objectives with Quality of Service Management

Oracle WebLogic Thread Pool Tuning

Capacity Management for Oracle Database Machine Exadata v2

Understanding Server Configuration Parameters and Their Effect on Server Statistics

Oracle Aware Flash: Maximizing Performance and Availability for your Database

Postgres Plus Advanced Server

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview:

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Performance testing Hadoop based big data analytics solutions

Application of Predictive Analytics for Better Alignment of Business and IT

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

Siebel & Portal Performance Testing and Tuning GCP - IT Performance Practice

Agility Database Scalability Testing

Performance White Paper

Top 10 reasons your ecommerce site will fail during peak periods

A SURVEY OF POPULAR CLUSTERING TECHNOLOGIES

Solving Performance Problems In SQL Server by Michal Tinthofer

Performance Baseline of Oracle Exadata X2-2 HR HC. Part II: Server Performance. Benchware Performance Suite Release 8.4 (Build ) September 2013

Oracle Database In-Memory The Next Big Thing

Performance and scalability of a large OLTP workload

Most Common Database Configuration Mistakes Jože Senegačnik, Oracle ACE Director, Member of OakTable DbProf d.o.o. Ljubljana, Slovenia

Lessons Learned while Pushing the Limits of SecureFile LOBs. by Jacco H. Landlust. zondag 3 maart 13

The Oracle Universal Server Buffer Manager

HP Vertica Concurrency and Workload Management

Application-Tier In-Memory Analytics Best Practices and Use Cases

Load Testing and Monitoring Web Applications in a Windows Environment

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Technical Challenges for Big Health Care Data. Donald Kossmann Systems Group Department of Computer Science ETH Zurich

Oracle WebLogic Server Monitoring and Performance Tuning

Web Server Software Architectures

Holistic Performance Analysis of J2EE Applications

Background. Industry: Challenges: Solution: Benefits: APV SERIES CASE STUDY Fuel Card Web Portal

Benchmarking Hadoop & HBase on Violin

DELL s Oracle Database Advisor

Microsoft SQL Server OLTP Best Practice

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Enterprise Edition Scalability. ecommerce Framework Built to Scale Reading Time: 10 minutes

Proactive database performance management

LPV model identification for power management of Web service systems Mara Tanelli, Danilo Ardagna, Marco Lovera

11.1 inspectit inspectit

<Insert Picture Here> Best Practices for Extreme Performance with Data Warehousing on Oracle Database

Who am I? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

KillTest. 半 年 免 费 更 新 服 务

Cloud Based Application Architectures using Smart Computing

OpenFlow Based Load Balancing

Performance Tuning Guide for ECM 2.0

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Which Database is Better for Zabbix? PostgreSQL vs MySQL. Yoshiharu Mori SRA OSS Inc. Japan

Adaptive Server Enterprise

Parallel Replication for MySQL in 5 Minutes or Less

3 Examples of Reliability Testing. Dan Downing, VP Testing Services MENTORA GROUP

Performance and Scalability Overview

Top 10 Performance Tips for OBI-EE

Interaction Dialer 3.0. Best Practices

Optimizing Performance. Training Division New Delhi

SQL Server 2014 New Features/In- Memory Store. Juergen Thomas Microsoft Corporation

Safe Harbor Statement

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

Informatica Data Director Performance

Performance Test Report For OpenCRM. Submitted By: Softsmith Infotech.

A Performance Engineering Story

SQL Sentry Essentials

Audit & Tune Deliverables

ENTERPRISE INFRASTRUCTURE CONFIGURATION GUIDE

How To Test For Performance

Best Practices for Deploying SSDs in a Microsoft SQL Server 2008 OLTP Environment with Dell EqualLogic PS-Series Arrays

Comprehending the Tradeoffs between Deploying Oracle Database on RAID 5 and RAID 10 Storage Configurations. Database Solutions Engineering

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

Sun 8Gb/s Fibre Channel HBA Performance Advantages for Oracle Database

Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003

Transcription:

<Insert Picture Here> Adventures in Middleware Database Abuse Graham Wood Architect, Real World Performance, Server Technologies

Real World Performance

Real-World Performance Who We Are Part of the Database Development Organization Global Team: USA, France, Germany, UK, Denmark, Norway, China, India 300+ Man years of Oracle database experience Our goal: Increase the performance of the Oracle Database in the Real- World Our methods: Use the product as it was designed to be used Numerical and logical debugging techniques Educate others about the best performance methods and techniques Avoid and eliminate tuning by hacking/guessing/luck

What is Real World Performance? Bridging the Chasm from Today s Performance to What is Possible

What is Real World Performance? Common Mistakes That Stop Customers Achieving The Best Performance Incorrect Use of Tools/Products Not understanding the big/little data design challenge Moving to a solution before understanding the problem

Real-World Performance http://oracle.com/goto/oll/rwp

Agenda Connection pools Threads vs Arrays Load balancing

Connection Management

Connections and Connection Pools The primary reason for escalation of OLTP systems into the Real-World Performance Group is poor connection pooling strategies. Symptoms of a poor connection strategy: A high number of connections to the database ( 1,000s ) A dynamic connection pool with a large number of logon/off to the database ( > 1/Sec ) Periods of acceptable performance and then unexplainable/undebuggable periods of poor performance/availability The inability to determine what is happening in real time

It is mostly about simple math 16000 14000 12000 10000 8000 6000 4000 2000 1 Proc/Core 10 Proc/Core Avg 50 Proc/Core Avg 10 Proc/Core Max 50 Proc/Core Max 10 Proc/Core Min 50 Proc/Core Min 0 4 8 12 16 20 24 28 32

Connection Management Scenario Application must be able to handle high loads. Workload is highly dynamic such as retail on Black Friday We need thousands of connections to handle our load

Connection Management Scenario Small number of connections gives stable throughput and response time Small amount of time queueing in the middle tier What if we let it self-tune by increasing maximum pool size without changing workload?

Connection Management Analysis Connection count increases rapidly Throughput drops and is unstable Response time increases Host CPU utilization rises

Connection Management Scenario Reduce pool size back to original level Response time and stability restored Host CPU load drops

Threads vs Arrays Already have a service that processes a single message To process more messages concurrently using multiple threads change the service to process a set of messages.

Threads vs Arrays Scenario Already have a service that processes a single message Process more messages concurrently by using multiple threads or change the service to process a set of messages. Which is better?

Threads vs Arrays Analysis Not much of a contest Array takes 1minute Threads takes 22 minutes With higher load on server But still resource available Larger pool size for threads?

Threads vs Arrays Analysis 4x threads improved performance Array takes 1minute Threads takes 10 minutes Much higher load on server This is ONE dedicated process vs 64 parallel threads

Threads vs Arrays Scenario What happens when we add an index to both systems?

Threads vs Arrays Analysis Both systems slowed by index Multiple threads suffers from contention, buffer busy wait, TX index contention

Common Architecture and Load Balancing Errors

Is Load Balancing Slowing Your System? Scenario Devices ship files. Files read and processed by multiple application servers Each application server uses multiple threads that connect to database through a connection pool which is distributed by a scan listener over two instances.

Is Load Balancing Slowing Your System? Problem It s too slow It s a problem with the database Look at all those waits Need to be able to process an order of magnitude more data Obviously need to move to Hadoop

Is Load Balancing Slowing Your System? Analysis Only small amount of data being processed. Both instances essentially idle with most processes waiting in RAC and concurrency waits.

Is Load Balancing Slowing Your System? Solution Remove all of those RAC waits by running against a single database instance.

Is Load Balancing Slowing Your System? Analysis Throughput up by factor of 10x RAC waits gone CPU time actually visible High concurrency waits Buffer busy Tx index contention

Is Load Balancing Slowing Your System? Solution Reduce contention waits by processing a file entirely within a single application server

Is Load Balancing Slowing Your System? Analysis Throughput improved again Concurrency events reduced but still present

Is Load Balancing Slowing Your System? Solution Introduce affinity for a related set of records to a single thread by hashing All records for the same primary key processed by single thread so no contention in index for same primary key vale

Is Load Balancing Slowing Your System? Analysis More throughput Log file sync predominant event Latch events CPU usage close to core count

Is Load Balancing Slowing Your System? Solution Reintroduce RAC to add more CPU resource Implement separate service for each instance Connect application server to one instance

Conclusions Poor connection strategy Increases contention in the database Increases resource usage Increased potential for outage Good connection strategy reduces resource usage on the system reduces user response time allows increased throughput Use arrays rather than more threads for performance Load balancing!= Good performance Be Well Connected!