1 How Healthy is Your Progress System? ( Progess DB Best Practices) Dan Foreman BravePoint, Inc.

Slides:



Advertisements
Similar presentations
B3: Putting OpenEdge Auditing to Work: Dump and Load with (Almost) No Downtime David EDDY Senior Solution Consultant.
Advertisements

Progress Database Repair & Recovery
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.
Numbers, We don’t need no stinkin’ numbers Adam Backman Vice President DBAppraise, Llc.
DB-13: Database Health Checks How to tell if you’re heading for The Wall Richard Shulman Principal Support Engineer.
Segmentation and Paging Considerations
Common Mistakes Developers Make By Bryan Oliver SQL Server Mentor at SolidQ.
Progress Database Setup, Maintenance and Tuning
1 PUG Challenge EU 2014 Click to edit Master title style PUG Challenge EMEA 2014 – Dusseldorf, Germany Common Database Problems Common Database Solutions.
DB-14: Tales of the Bunker Gus Björklund, Progress Software Corporation John Harlow, Bravepoint, Inc. Dan Foreman, Bravepoint, Inc. Rich Banville,
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Memory Management 1 CS502 Spring 2006 Memory Management CS-502 Spring 2006.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
CS-3013 & CS-502, Summer 2006 Memory Management1 CS-3013 & CS-502 Summer 2006.
TEMP-TABLE Performance Tuning & Other Important Stuff
Backup and Recovery Part 1.
Transaction log grows unexpectedly
Database I/O Mechanisms
KEEP YOUR COMPUTE SAFE AND HOW TO FIX IT 1. OBJECTIVE Keep your computer safe. -Not about spam, phishing or browser hijacks Designed for the non-geek.
New Generation of OpenEdge ® RDBMS Advanced Storage Architecture II Tomáš Kučera Principal Solution Engineer / EMEA Power Team.
MOVE-4: Upgrading Your Database to OpenEdge® 10 Gus Björklund Wizard, Vice President Technology.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
1 PUG Challenge Americas 2015 Click to edit Master title style PUG Challenge USA 2015 Top Performance Enhancers & Destroyers Presented by: Dan Foreman.
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Backup & Recovery 1.
Administration etc.. What is this ? This section is devoted to those bits that I could not find another home for… Again these may be useless, but humour.
IBM Software Group Washington Area Informix User Group Forum 2004 The DB2 DBA Checklist Dwaine R Snow, DB2 & Informix.
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Storage Systems.
Database Storage Considerations Adam Backman White Star Software DB-05:
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Top Performance Enhancers Top Performance Killers in Progress Dan Foreman Progress Expert
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
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.
Win202 Database Administration. Introduction Welcome to OpenEdge. Type 2 Storage Areas. One of the big selling points for the OpenEdge platform and Win202.
Progress Database Admin 1 Jeffrey A. Brown - Technical Support Consultant
Table Partitioning For Maintenance and Performance Richard Banville OpenEdge Development Progress Software.
Advanced JSP, Taglibs and Struts
ESRI User Conference 2004 ArcSDE. Some Nuggets Setup Performance Distribution Geodatabase History.
Recovery Log Notes Gus Björklund, Progress Dan Foreman, Bravepoint 2014 Americas PUG Challenge Westford, MA June 8 – June
CS333 Intro to Operating Systems Jonathan Walpole.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
MISSION CRITICAL COMPUTING Siebel Database Considerations.
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.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
Tales of the Secret Bunker 2016 (231) Dump and Load Edition Mike Furgal – Director MDBA and Pro2 Services Gus Bjorklund - Lackey.
Jonathan Walpole Computer Science Portland State University
Physical Changes That Don’t Change the Logical Design
Database Corruption Advanced Recovery Techniques|
Top Performance Enhancers & Destroyers
Introduction to Computers
Main Memory Management
Walking Through A Database Health Check
Operating System Concepts
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 8 11/24/2018.
Multistep Processing of a User Program
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 12/1/2018.
So far… Text RO …. printf() RW link printf Linking, loading
Turbo-Charged Transaction Logs
Chapter 8: Memory management
File-System Structure
OPS-14: Effective OpenEdge® Database Configuration
CSE 542: Operating Systems
Presentation transcript:

1 How Healthy is Your Progress System? ( Progess DB Best Practices) Dan Foreman BravePoint, Inc.

2 Introduction- Dan Foreman Progress User since 1984 Guest Speaker at USA & European Progress Users Conferences since 1988

3 Introduction- Dan Foreman Author of: Progress Performance Tuning Guide Progress Database Admin Guide Progress System Tables Guide V10 Database Admin Jumpstart Online Access (free with paper book) ProMonitor - Performance Monitoring Tool Pro D&L - Dump/Load with very short downtime regardless of DB size Balanced Benchmark – Load Testing Tool

4 Introduction - BravePoint The Largest(?) Progress consulting group in the world (managing one of the world’s largest databases) Three have used Progress since 1984 Database Group: Managed DBA Services Performance Tuning Database Repair (and proactive protection) Load Testing Much more

5 Introduction – Who Are You? Largest Single DB? Largest Concurrent DB Connections? Progress Version? Database Operating System?

6 Best Practices - Recovery Test your Entire Recovery Plan at least once a year Verify Progress backups with prorest and –vp or –vf Log all activities related to backups, AI maintenance, and other automated activities Generate an Alert (i.e. , SMS, etc.) if any activity related to backup/AI fails

7 Best Practices – After Imaging Enable After Imaging (AI) Verify After Image Logs with rfutil aiverify Minimum: Copy AI Logs to a non- production server frequently (every few minutes) Best: Use the AI logs to Replication production DB on another server as a Hot or Warm Standby

8 Best Practices – After Imaging Keep archived AI logs in a separate location from the backups Keep archived AI logs as long as you keep the backups Keep the live AI extents extents as far “away” from the DB/BI files as possible Separate physical disk Separate LUN (SAN Separate Volume Group Separate Logical Volume/File System

9 Best Practices – Unix/Linux Unix/Linux: DO NOT logon as root unless you really need to Use sudo Use a root equivalent account Use O/S security to protect the DB, BI, and AI files from accidental/casual/intentional deletion proutil EnableLargeFiles on each database and make sure all file systems support large files

10 Best Practices – Unix/Linux Don’t use kill -9 to terminate a Self Service Progress session; You might bring the database DOWN! if you happen to kill a session that is holding a Latch

11 Best Practices – DB Maint Always have an up-to-date Structure (.st) file available Run proutil dbanalys periodically Can find certain errors such as #1124 Scatter and Fragmentation Information indicates if a Dump&Load is needed Monitor Table growth rates Elapsed time to run the utility is a performance indicator

12 Best Practices – DB Monitoring Check the Database log (.lg) file for errors DAILY. Look for words such as: kill* drastic warn* error system dead fatal abnormal exceed* fail* wrong unexpected* invalid died damage* overflow* violation insufficient missing disappear* corrupt* allow* attempt* cannot enough illegal beyond impossible increase unknown unable stop* (and many more) Use OpenEdge Management or ProMonitor to assist with log file monitoring or write your own (not so easy)

13 Best Practices – DB Monitoring Important because promon & Virtual System Tables don’t show history & trends ProMonitorProTop OpenEdge Management Build your own

14 Best Practices – DB Safety Use the -bithold parameter as an extra safeguard; Set to 50% of available BI Disk Space Crash recovery causes the BI file to grow Crash recovery causes the AI files to grow AI extents cannot be emptied during crash recovery bigrow size < BI Size Alert Threshold < bigrow size < BI Size Alert Threshold < (-bithold value = (available BI disk space / 2)) (-bithold value = (available BI disk space / 2))

15 Best Practices – DB Tuning Spin Locks (-spin) between 1000 and Why such a wide range? BI Buffers (-bibufs) AI Buffers (-aibufs) exactly equal to BI Buffers BI Block Size (-biblocksize) 16 AI Block Size (-aiblocksize) exactly equal to BI Block Size

16 Best Practices – DB Tuning Page Writers DB Writers (APWs): 2-4 BI Writer (BIW): 1 AI Writer (AIW): 1 Before Image Cluster Size: 16-32mb Pre-Formatting BI Clusters if BI truncated proutil bigrow

17 Best Practices – DB Tuning Database Buffers (-B) - lots Don’t use the promon ‘Buffer Hits %’ to monitor – Prior to V10.1B it is buggy and frequently wrong V10.2B SP04 Alternate Buffer Cache -B2 For heavy read-mostly tables (and associated indexes) that fit completely in the memory allocated

18 Best Practices – DB Tuning Use Buffer Hit Ratio Ratio of: DB Requests / DB Reads 3 digits:1 is usually excellent Higher than that usually indicates bad code Lower than 20:1 is usually poor performance A Ratio is a better indicator especially if the percentage is approaching 100%

19 Best Practices – DB Tuning Possible Reasons for a Poor Hit Ratio One report looking at ‘old’ data (i.e. YTD data) can kill a good Hit Ratio although the “dip” usually temporary Database needs a dump/load (poor Scatter and/or Fragmentation Factors) See more on the next slide

20 Best Practices – DB Tuning Possible Reasons for a Poor Hit Ratio -B is too small Online utilities (dbanalys, probkup, etc.); use –Bp to reduce the impact Reports with indexing problems Reports run “wide open” The Hit Ratio was checked soon after the DB Broker started

21 Best Practices – DB Tuning Lots of misinformation &opinions about Direct I/O (-directio) Added in V6 but only applied to Data General and Sequent Platforms Starting in V8 applies to all platforms but the Progress Documentation wasn’t updated right away Database Startup Option

22 Best Practices – DB Tuning But -directio isn’t a good idea for all platforms Don’t use on: Windows Linux

23 Best Practices – DB Structure Database Block Size 4k-8k General: Match DB Block Size to File System Block Size Set the File System Block Size is as large as possible Increase in DB Block Size may mean a reduction in –B Dump/Load is required to change the Block Size

24 Best Practices – DB Structure Fixed Size Data Extents Don’t grow into the Variable Extent Not as crucial as it was in the 90’s when Storage was slower Large Extents (as large as triple digit gigabytes) are not a performance problem if you are using a “modern” OS and Storage Device

25 Best Practices – DB Structure V10 Type 2 (AKA T2) Storage Areas General recommendations: T2 for ALL Areas Large Cluster Size (512) for Tables with a large number of records Smallest Cluster Size (8) for Tables with few records

26 Best Practices – Dump & Load To Fix Scatter Factor Not as big an issue with T2 Areas To Fix Fragmentation To Change T2 DCS, RPB, DB Blk Size To verify no DB Corruption Exists So that if you need to do one in an Emergency, it won’t be your first time Usually much more effective than idxbuild or idxcompact

27 Best Practices - Disk Disks are the Slowest Server Component We recommend Lots of Striped Database Disks 1999: 9gb & 9-14ms Average Access 2009: 144gb & 6-9ms Average Access 2012: SSD are <.2ms Average Access

28 Best Practices - Disk Separation of After Image, Before Image, and Database Disks Mainly for Integrity (especially AI) Secondarily for Performance (maybe) Try to not Stripe DB/BI on the same Volume

29 Worst Practice – RAID 5 (and Variants) RAID 5 is (almost) always EVIL! RAID Levels are not precisely crafted standards (like USB 3.0, etc.) SANs are very complex devices RAID 10 requires more disk space than RAID 5 Hybrids may be acceptable (RAID 5 for DB, RAID 10 for AI/BI) YMMV

30 Best Practices - Disk Stripe Size for RAID 0, 5, 6, or 10 The Largest Stripe Size usually produces the best Performance YMMV (or YKMV for some of our international audience)

31 Best Practices – What you don’t know can hurt you Have a third party look at your system once a year Doesn’t need to be me - competition is good You may be surprised at what you’ve missed or has slipped through the cracks It’s like car insurance…

32 Conclusion If you need further assistance: Progress Performance Tuning Guide Progress Database Administration Guide Progress System Tables V10 Database Administration Jumpstart ProMonitor - performance monitoring tool Pro Dump/Load Balanced Benchmark or Thank You for Coming!