Top Performance Enhancers & Destroyers

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

Progress System Tables
DB-7: OpenEdge® Database Performance Tuning
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
Strength. Strategy. Stability. The Application Profiler.
T OP N P ERFORMANCE T IPS Adam Backman Partner, White Star Software.
DB-13: Database Health Checks How to tell if you’re heading for The Wall Richard Shulman Principal Support Engineer.
1 How Healthy is Your Progress System? ( Progess DB Best Practices) Dan Foreman BravePoint, Inc.
Progress Database Setup, Maintenance and Tuning
TEMP-TABLE Performance Tuning & Other Important Stuff
DBI308. What are SQL Server Fast Track Reference Configurations General Fast Track Recommendations Reference Configurations and Best Practices FT 3.0.
MOVE-4: Upgrading Your Database to OpenEdge® 10 Gus Björklund Wizard, Vice President Technology.
1 PUG Challenge Americas 2015 Click to edit Master title style PUG Challenge USA 2015 Top Performance Enhancers & Destroyers Presented by: Dan Foreman.
Database Storage Considerations Adam Backman White Star Software DB-05:
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Top Performance Enhancers Top Performance Killers in Progress Dan Foreman Progress Expert
1 Robert Wijnbelt Health Check your Database A Performance Tuning Methodology.
Top 10 Performance Hints Adam Backman White Star Software
Strength. Strategy. Stability.. Progress Performance Monitoring and Tuning Dan Foreman Progress Expert BravePoint BravePoint
DB-01 Upgrading to OpenEdge ® Practices & Initial Tuning Tom Harris, Managing Director, RDBMS Technology.
March 19981© Dennis Adams Associates Tuning Oracle: Key Considerations Dennis Adams 25 March 1998.
MySQL. Dept. of Computing Science, University of Aberdeen2 In this lecture you will learn The main subsystems in MySQL architecture The different storage.
Improving Efficiency of I/O Bound Systems More Memory, Better Caching Newer and Faster Disk Drives Set Object Access (SETOBJACC) Reorganize (RGZPFM) w/
SQL Server 2014: Overview Phil ssistalk.com.
BW Know-How Call : Performance Tuning dial-in phone numbers! U.S. Toll-free: (877) International: (612) Passcode: “BW”
Selling the Storage Edition for Oracle November 2000.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
OPS-15: What was Happening with My Database, AppServer ™, OS... Yesterday, Last Month, Last Year? Libor LaubacherRuanne Cluer Principal Tech Support Engineer.
Progress Database Admin 1 Jeffrey A. Brown - Technical Support Consultant
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
1 MONGODB: CH ADMIN CSSE 533 Week 4, Spring, 2015.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
Your Data Any Place, Any Time Performance and Scalability.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Using Progress® Analytical Tools Adam Backman White Star Software DONE-05:
Oracle Architecture - Structure. Oracle Architecture - Structure The Oracle Server architecture 1. Structures are well-defined objects that store the.
for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit.
Cassandra as Memcache Edward Capriolo Media6Degrees.com.
Tales of the Secret Bunker 2016 (231) Dump and Load Edition Mike Furgal – Director MDBA and Pro2 Services Gus Bjorklund - Lackey.
Introducing Hekaton The next step in SQL Server OLTP performance Mladen Prajdić
CS 540 Database Management Systems
CygNet Database Service Diagnostics and Performance Tuning
Apache Ignite Data Grid Research Corey Pentasuglia.
Jonathan Walpole Computer Science Portland State University
Managing Multi-User Databases
CS 540 Database Management Systems
EVOLUTION OF THE ORACLE OPTIMIZER THINKING
Flash Storage 101 Revolutionizing Databases
SQL Server Monitoring Overview
Power BI Security Best Practices
The Client/Server Database Environment
Introduction to NewSQL
Software Architecture in Practice
Database Performance Tuning and Query Optimization
Main Memory Management
Introduction of Week 3 Assignment Discussion
Walking Through A Database Health Check
Proving Hardware Bottlenecks &
Chapter 17: Database System Architectures
Physical Database Design
Multistep Processing of a User Program
OPS-8: Effective OpenEdge® Database Configuration
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Troubleshooting Techniques(*)
Chapter 11 Database Performance Tuning and Query Optimization
OPS-14: Effective OpenEdge® Database Configuration
Database System Architectures
Using wait stats to determine why my server is slow
Presentation transcript:

Top Performance Enhancers & Destroyers Presented by: Dan Foreman

Dan Foreman Progress User since 1984 Author of several Progress related Publications Progress Performance Tuning Guide Progress Database Administration Guide Progress VST & System Tables Basketball & Bicycle Fanatic…which sometimes leads to “unscheduled outages” and trips to the Emergency Room: WARNING POTENTIALLY DISTURBING CONTENT

Just got back from Japan

Audience Survey - Demographics How many have used Progress (not Mfg/Pro) for less than one year? How many are in a company that has used Progress for less than one year?

Audience Survey - Technical Largest Single Progress DB Highest Progress Version Lowest Progress Version 32-Bit? Are you using Auditing Multi-Tenancy OE Replication TDE Table Partitioning

Introduction The slide titles are numbered, but that is not necessarily a rank or priority ordering

Enhancers #1 - Basic DB Tuning – Crucial -spin (-spin) Generally no higher than 50000 Ignore any formula that includes CPUs DB Buffer Cache (-B) As large as possible WITHOUT exhausting system memory Before Image Cluster Size (proutil –bi) Faster Server/Storage = Larger Cluster Size 32-64mb Beware of Cluster Formatting issues APWs (proapw) BIW (probiw) AIW (proaiw)

Enhancers #2 – DB Configuration Database Block Size 8k or 4k Can be controversial My preference is 8k because it tends to reduce record fragmentation; also more index keys per block The default empty DB Block Size has been 4k since V10 Records Per Block Not 256 Not 1 for Index Areas Lesser Importance (but critical for future proofing) Type 2 Storage Areas Least Fixed Extents Controversial

Enhancers #3 - Indexing The cost of adding a new index is relatively small compared to the benefits….assuming that the index is properly utilized Is the Index used at all? Bracketing on all components of the key? Proper hierarchy in the components? Not duplicated? A + B + C A + B + C + D

Enhancers #4 – Remote Client Communication Message Size (-Mm) parameter for Remote Clients Does NOT apply to SQL/ODBC Clients Best results seen with NO-LOCK reads Must be specified on the Database and the Client (fixed in V11.6!) Default: 1024 Sweet spot: 4096-8192 (YUOMMV) TCP Jumbo Packets

Enhancers #5 – Dump & Load Metrics to use Scatter Factor (mainly Type 1 Areas) How many have heard that Type 2 Areas don’t require a D&L? Fragmentation – a percent is easier to understand than Factor Track the time it takes to run proutil dbanalys Use –scan in early V10 to prevent locking conflicts Track the elapsed time required to run a set of Killer Reports

Enhancers #6 – Reporting Database OLTP and Reporting exercise the DB Engine in somewhat contrary ways Some ad-hoc queries may not be able to take advantage of existing indexes Ad Hoc & Period Ending reports run against a Production DB with some ODBC based BI or other Reporting Tool Copy of Production DB Refreshed periodically (backups or AI logs) or real time (OE Replication) Should reside on a different server Look @ BravePoint’s Pro2* Product Suite Pro2SQL Pro2Oracle Pro2Pro

Enhancers #7 – SQL Regularly run UPDATE STATISTICS Use Moderation! Separate Login Broker for SQL Clients -m3 -ServerType -minport / -maxport Broker Temp Files on a Fast Device (-T on preserve)

Enhancers #8 – Storage SSD Storage Flash Storage They are not the same

Destroyers #1 – Poor Coding Techniques Code that reads the same record (or set of records) repeatedly Produces Hit Ratios that exceed 10000:1 Compare Table I/O (_tablestat) with dbanalys record counts “Compensate” with –lruskips Parameter

Destroyers #2 – Poor Coding Techniques Code that repetitively exits to the operating system Context switch Create sub-process Terminate sub-process Repeat

Destroyers #3 – Indexing Developers who don’t understand (or ignore) the Progress Indexing Rules The Rules are reasonably well documented Progress Documentation Dan Foreman’s Progress Performance Tuning Guide

Destroyers #4 – AppServers & WebSpeed Tuning Poorly Tuned AppServers & WebSpeed Agents Depending on the State, one AS/WS might run code for thousands of users Important Parameters: Exec Buffer (-mmax #) Sort File Block Size (-TB 31) Sort Memory Buffers (-TM 32) R-Code Quick Request (-q) Temp-Table Buffers (-Bt #) Temp File Location (-T) Temp File Visibility (-t) Message Compression (-mc) WAN Connections only

Destroyers #5 - Java Java (or processes written in Java) WebSpeed Broker AppServer Broker Admin Server Name Server Tomcat Monitor excessive memory use and/or high CPU utilization

Destroyers #6 - Checkpoints There are several major performance issues that can occur @ Checkpoint time Buffers Flushed BI Cluster Formatting sync call (old versions of Progress) fdatasync call (new versions of Progress) Other stuff CheckPoints will be covered in detail in another session

Destroyers #7 – Logical Scatter Factor When the physical contiguosity of the data doesn’t match the order used by the index Applies to both Type 1 and Type 2 Areas!

Destroyers #8 – Remote Client Access Versus Self-Service Client DB connections Abnormal death of a SELF Client can potentially bring the DB DOWN!

Destroyers #9 – Accessing _Lock VST Potentially very slow High CPU activity High Latch activity Fixed in Progress V11.4

Destroyers #10 – Storage RAID 5 RAID 6 RAID DP – equals RAID 6 Lot’s of Cache only delays the inevitable NetApp

Destroyers #11 - NUMA Non-Uniform Memory Architecture If the number of CPU Cores exceeds 64 (approximately), Progress does not scale always well Latch activity needs to be propagated to the cache of each CPU

Destroyers #12 – DB Configuration Tables or Indexes stored in the Schema Area – frequently seen in custom or side DBs The Schema Area is a Type 1 Area AI Extents not separated from DB/BI Extents (mainly for integrity, performance is secondary)

Destroyers #13 – Miscellaneous 32-Bit Database License Poorly configured or inadequately resourced Virtual Machines

Questions? dforeman@bravepoint.com Mobile: +1 541 908 3437 Thank You! Questions? dforeman@bravepoint.com Mobile: +1 541 908 3437 Request: Please thank Conference organizers for their hard work in putting together an excellent conference