Presentation is loading. Please wait.

Presentation is loading. Please wait.

Top 10 Tips and Tricks to Get the Best Database Performance from Solaris Systems CON7526 Intercontinental - Grand Ballroom Ken Kutzer, Ritu Kamboj, Viraj.

Similar presentations


Presentation on theme: "Top 10 Tips and Tricks to Get the Best Database Performance from Solaris Systems CON7526 Intercontinental - Grand Ballroom Ken Kutzer, Ritu Kamboj, Viraj."— Presentation transcript:

1

2 Top 10 Tips and Tricks to Get the Best Database Performance from Solaris Systems CON7526 Intercontinental - Grand Ballroom Ken Kutzer, Ritu Kamboj, Viraj Nr Oracle, Systems Division October 2, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 11

3 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3

4 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Program Agenda Introduction Deployment Tips and Practices Operating Tips and Tunings Summary and Resources

5 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction Ken Kutzer 5

6 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Customers are Choosing Oracle Solaris Large European Telco Moved to Solaris Replaced: HP x86 Red Hat Linux VMware 2X Performance for the same number of licenses 10X more customer transactions per day “ We moved to SPARC systems for 3 main reasons: Improved performance, reliability and scalability, and great integration features of Oracle Solaris 11 and Oracle Database.”

7 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | One Engineering Team 7 Engineered Together Best performance, availability, security, efficiency Tested Together 150,000 machine hours every week 10M+ machine hours annually Certified Together We take the risk for you Deployed Together Your application up in hours, not months Upgraded Together Risk free patching/updates Managed Together 3x lower administration and maintenance costs Supported Together Coordinated response for your deployment

8 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The Ultimate Software Optimizations: Hardware Software in Silicon 8 Database Query Acceleration Data Decompression Application Data Integrity Low-Latency Clustering Software in Silicon Moving Oracle Database & Data Functions into Hardware T5 Baseline (1 Thread) M7 (1 Query Pipeline) Preliminary Results (Single Stream Decompression)

9 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Deployment Tips and Practices 9 Ritu Kamboj

10 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Rapid, Trouble Free Oracle Database Installation Single Solaris package contains everything needed to install Database Installs and verifies all packages needed for Oracle Database 12c are present on the system Reduce preparation effort, avoid errors and installation delays 10 Simplified Installation on Oracle Solaris #1 #pkg install oracle-rdbms-server-12-1-preinstall Available For Oracle Database Oracle Solaris11.2

11 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Monitor Oracle Database Health on Oracle Solaris Reports system health risks with the ability to drill down into specific problems and understand their resolutions Provides a single dashboard to view collections across entire enterprise Additions in latest Orachk tool (version 2.2.5) – Runs checks for multiple databases in parallel – New profile options to run only pre and post upgrade checks 11 Proactively reports problems for Oracle Database and Oracle Solaris by OraChk #2 Available For Oracle Database or greater Oracle Solaris11.1 or greater For more information please see MOS Note

12 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Reduce Oracle Database Large Memory Startup Time Oracle Solaris parallelizes shared memory allocation – Oracle Solaris auto tunes degree of parallelism per operation Oracle Database brings the database up before allocating entire SGA Up to 21x faster database startup time 12 Large Memory Enables the Real Time Enterprise Available For Oracle Database or greater Oracle Solaris11.1 SRU 10 or greater #3

13 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Leverage SPARC Critical Thread Technology Assign exclusive access to a core’s hardware resources to a process Up to 30% reduction in Oracle LGWR latency For Oracle , used for LGWR and LMS processes by default on start up For Oracle 11g, can be enabled with the command 13 Oracle’s SPARC M6, T5 and T4 Processors running Oracle Software #4 #priocntl -s -c FX -m 60 -p 60 -pid Available For Oracle Database or greater Oracle Solaris11.1 or greater

14 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Leverage On-line SGA Resizing Through OSM Background – Oracle 12c built for massive consolidation – Demands a platform which facilitates dynamic resource provisioning Combines the benefits of ISM and DISM – Robust mechanism for dynamic resizing of SGA (growing and shrinking) – Physically locked memory with large pages and shared Page Table entries Additional benefits – Optimized for memory architecture of Oracle Database – No scope for memory paging & no need for swap space configuration 14 Optimized Shared Memory (OSM) Background Information

15 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Leverage On-line SGA Resizing Through OSM For Oracle , OSM is used by default For Oracle , OSM is only used when you configure SGA to grow dynamically Monitor using “pmap –xs” 15 OSM Makes Large Memory Solaris Platforms Ready for Consolidation Available For Oracle Database or greater Oracle Solaris11.1 or greater #5 memory_max_target = 400G

16 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Use a Single Database Version for Higher Efficiency Install shared Oracle home in global zone Shared background processes across instances, simplified patching and upgrades Mount Oracle home from global zone to non-global zone 16 Enable Higher Consolidation Density with Solaris Zones #6 #zonecfg -z my-zone zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/u01 zonecfg:my-zone:fs> set special=/u01 zonecfg:my-zone:fs> set type=lofs zonecfg:my-zone:fs> end

17 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | When Practical, Create Solaris Zone along Core Boundary Create a processor set with a full core and assign it to a zone Ensure memory assignment is prioritized from local – Enable processor set aware lgrp memory allocation – In /etc/system Apply patch for bug id for higher consolidation densities 17 Best Practice for Database Consolidation #7 # poolcfg -c ‘create pset dbPset_set(uint pset.min=8;uint pset.max=8)’ # poolcfg -c ‘create pool dbPool’ # poolcfg -c ‘associate pool dbPool(pset dbPset)’ # poolcfg -c ‘transfer to pset dbPset(cpu 0;cpu 1;cpu 2;cpu 3;cpu 4;cpu 5;cpu 6;cpu 7)‘ set lgrp_mem_pset_aware=1

18 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Operating Tips and Tunings Memory Allocation and CPU Efficiency Viraj Nr 18

19 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |19 Performance Methodology Performance below expectation, variance, degradation over time, etc. Systemic Analysis Performance Optimization Process Symptoms Diagnosis Tuning Tips Apply known “Best Practices” Follow Performance optimization process Background Information

20 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Solaris Memory Allocation Concepts Solaris Memory Organization - Size – Supports multiple pagesizes for Database instances – Tries to allocate SGA using largest available pagesize – Coalesces smaller pages into larger pages as required Solaris Memory Organization - Placement – CPU-Memory affinity abstracted as locality groups (lgroup) – lgroup aware memory allocation Database instance startup time depends on availability of large pages 20 Background Information

21 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Slow DB Startup Related to Large-Page Availability Symptoms Slow database instance startup (affects Oracle 11g more) Diagnosis Memory fragmentation due to several database startups/shutdowns, i/o to file systems, other types of i/o, etc. Mixed size pages due to page coalescing issues Monitor pagesizes using “pmap –xs `pgrep –f ora_dbw0` ” 21 #8

22 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Slow DB Startup Related to Large-Page Availability Tuning Tips Limit ZFS Cache size to 20% of available memory, this allows remaining memory to be available for Oracle Database use Add the following to /etc/system (e.g. to set it to 2GB) (requires reboot) If ZFS is used heavily, refer to ZFS tuning guide for recommendation Consider system reboot as a last resort 22 (Cont.) #8 OSM helps to addresses some of these concerns – Helps improve Instance Startup – Helps Database Availability

23 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Performance Variance due to Uneven Memory Allocation Across lgroups Symptoms 5% to 10% performance variance for OLTP Cause - multiple DB instances started over time on the same Solaris instance Diagnosis Monitor memory allocations across lgroups using “lgrpinfo –cm” 23 #9

24 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Performance Variance due to Uneven Memory Allocation Across lgroups Tuning Tips Use new Oracle 12c Processor Group Name Feature to ensure All database processes are bound to the processor group All memory is allocated locally from the processor group Integrates with Oracle Solaris resource pools to isolate Oracle Database instances Oracle provides easy to use script to create Solaris Resource pools Set processsor_group_name parameter to Resource pool name In init.ora Processor_group_name= 24 Use Oracle 12c Processor Group Name Feature #9 (Cont.)

25 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Performance Variance Due to Load Imbalance Symptoms Uneven CPU Utilization Dynamic creation/deletion of processor sets, on-lining and off-lining of CPUs Short lived applications creating load imbalance Diagnosis Monitor load average using kstat, correlate with mpstat Monitor uneven home lgroup assignment using plgrp Tuning Tips Create controlled environment, remove unwanted processor sets Use MCB feature of Solaris (pbind -c ) 25 Check and Monitor CPU Utilization #10

26 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Monitor CPU Efficiency Symptoms Lower than expected scaling for certain OLTP, DSS or batch workload Diagnosis Monitor S/W and H/W core utilization using pgstat (S11.1 SRU 11 or later) Core utilization is represented by Integer_Pipeline utilization Tuning Tips Core utilization approaching saturation means operating at maximum capacity 26 Core Efficiency – Software + Hardware Utilization #11

27 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Summary and Resources 27

28 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Database Runs Best on Oracle Solaris Use shared release area where applicable to enable higher database consolidation density Limit ZFS ARC to improve large page availability and database startup time Leverage Oracle 12c processor_group_name for consolidation on NUMA servers Use pgstat for complete understanding of core utilization Leverage Solaris performance tools to observe and diagnose performance issues 28 Key Tip Summary

29 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Questions? References Oracle Solaris 11—The Optimal Platform for Deploying Oracle Database Administering Resource Management in Oracle® Solaris 11.2 Oracle Solaris Studio Materials for CON6583: Be a Hero with Your DBA: Database Performance Tuning for Admins 29 THURSDAY Intercontinental Hotel 12:00CON7818Guarantee SLAs with Software-Defined NetworkingGrand Ballroom A 12:00CON8009Code Analysis Tools for Consistent/Secure/Reliable QualityGrand Ballroom B 1:15CON7843Best Practices for Oracle Solaris Lifecycle ManagementGrand Ballroom A 2:30CON4606Efficient Scalable/Flexible Data Center Cloud VirtualizationGrand Ballroom C

30

31 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Appendix 31 Available Tools and Techniques

32 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Tools and Techniques System Performance Solaris + Platform Process and Thread Analysis lockstat, plockstat, truss, prstat and pstack Memory Placement Optimization plgrp, pmap, lgrpinfo Interrupt Assignment and Load Balancing mpstat, mdb, intrstat Hardware Utilization, Capacity Planning cpustat, corestat, pgstat, pginfo Advanced Debugging Dtrace Profiling Techniques Oracle Solaris Studio 32

33 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Tools and Techniques prtpicl Provides platform information (architecture details including TLB, cache size etc) pginfo Displays info about the Processor Group (PG) hierarchy PGs are used by the operating system to represent the CPUs that share performance relevant hardware including integer pipeline pginfo –c 0; pginfo –v –c 0 mpstat, cpustat, trapstat Enhanced to handle large CPU count on large systems via filters and aggregation options 33

34 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | I/O Performance Diagnosability with Solaris and Oracle 12c v$kernel_io_outlier reports I/O outlier response time breakup (ASM & RAW). Threshold for I/O outlier is > 500 msec latency DTrace Tightly Integrated with Database Monitoring Framework Description of v$kernel_io_outlier view TIMESTAMP Number of seconds elapsed since 00:00 UTC, January 1, 1970 IO_SIZE Size of the I/O, in KB. IO_OFFSET Offset into the device of the I/O DEVICE_NAME Name of the device to which the I/O was targeted PROCESS_NAME Name of the process that issued the I/O TOTAL_LATENCY Total time in us the I/O spent in the kernel SETUP_LATENCY Time in us spent during initial I/O setup before sending to SCSI target device driver QUEUE_TO_HBA_LATENCY Time in us spent in the SCSI target device driver before being sent to the Host Bus Adaptor TRANSFER_LATENCY Time in us spent in the Host Bus Adaptor and physically transferring the I/O to the storage device CLEANUP_LATENCY Time in us spent freeing resources used by the completed I/O PID Process ID that issued the I/O CON_ID The Container ID


Download ppt "Top 10 Tips and Tricks to Get the Best Database Performance from Solaris Systems CON7526 Intercontinental - Grand Ballroom Ken Kutzer, Ritu Kamboj, Viraj."

Similar presentations


Ads by Google