1 Performance Data: What is Important and How Do I Make Sense of It Adam Backman A Nice Guy, DBAppraise.

Slides:



Advertisements
Similar presentations
Progress System Tables
Advertisements

IO Waits Kyle Hailey #.2 Copyright 2006 Kyle Hailey Waits Covered in this Section  db file sequential read  db file scattered.
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
Strength. Strategy. Stability. The Application Profiler.
Some More Database Performance Knobs North American PUG Challenge
The Buzz About Buffer Pools
T OP N P ERFORMANCE T IPS Adam Backman Partner, White Star Software.
ProTop version 3 – An open source Progress database performance monitor ProTop is a free, Open Source database monitor for Progress OpenEdge databases.
ProTop version 3 – An open source Progress database performance monitor ProTop is a free, Open Source database monitor for Progress OpenEdge databases.
Numbers, We don’t need no stinkin’ numbers Adam Backman Vice President DBAppraise, Llc.
OPS-28: A New Spin on Some Old Latches Richard Banville Fellow.
1 Performance Data: What is Important and How Do I Make Sense of It Adam Backman A Nice Guy, DBAppraise.
1 PUG Challenge Americas 2013 Click to edit Master title style PUG Challenge Americas 2013 – Westford, MA The Deepest Depths of promon Presented by: Gus.
DB-13: Database Health Checks How to tell if you’re heading for The Wall Richard Shulman Principal Support Engineer.
DB-5: Simulating User Load Tom Bascom VP Technology White Star Software
Database Monitoring With
Chapter 3 Data Storage and Access Methods Title: Operating Systems Support for Database Management Author: Michael Stonebraker Pages: 217 – 223 Group 01:
TEMP-TABLE Performance Tuning & Other Important Stuff
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Database I/O Mechanisms
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.
Birth, Death, Infinity Gus Björklund. ???. Dan Foreman. BravePoint. PUG Challenge Dusseldorf 2014.
Windows Azure SQL Database and Storage Name Title Organization.
DB-13: Understanding VSTs By Paul Guggenheim. Copyright © 2005 Paul Guggenheim & Associates 2 DB-13: Understanding VSTs 2 About PGA  Working in Progress.
DB-19: OpenEdge® Authentication Without the _User Table
Birth, Death, Infinity Gus Björklund. Progress. Dan Foreman. BravePoint. PUG Challenge Americas, 9-12 June 2013.
Stephan Hurni Consultant Trivadis AG, SQL Server notes from the field.
Using Microsoft ACCESS to develop small to medium applications on campus.
E1760: 1001 Good Reasons to Upgrade Progress Exchange 2004 Las Vegas, Nevada Tom Bascom Greenfield Technologies
IT The Relational DBMS Section 06. Relational Database Theory Physical Database Design.
COMP-10: OpenEdge ® Management & Replication – Divide et impera! Cyril Gleiman & Libor Laubacher Principal Technical Support Engineers.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
Top 10 Performance Hints Adam Backman White Star Software
Strength. Strategy. Stability.. Progress Performance Monitoring and Tuning Dan Foreman Progress Expert BravePoint BravePoint
The B2 Buzz The Buzz About Buffer Pools 1. A Few Words about the Speaker Tom Bascom; Progress 4gl coder & roaming DBA since 1987 President, DBAppraise,
Extents, segments and blocks in detail. Database structure Database Table spaces Segment Extent Oracle block O/S block Data file logical physical.
A first look at table partitioning PUG Challenge Americas Richard Banville & Havard Danielsen OpenEdge Development June 9, 2014.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Oracle Tuning Considerations. Agenda Why Tune ? Why Tune ? Ways to Improve Performance Ways to Improve Performance Hardware Hardware Software Software.
BW Know-How Call : Performance Tuning dial-in phone numbers! U.S. Toll-free: (877) International: (612) Passcode: “BW”
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
DB-1: OpenEdge ® SQL in a 10.1B multi- database environment for ODBC and JDBC Brian Werne Sr. Engineering Manager, OpenEdge SQL and OpenEdge Management.
Progress Database Admin 1 Jeffrey A. Brown - Technical Support Consultant
Achieving Scalability, Performance and Availability on Linux with Oracle 9iR2-RAC Grant McAlister Senior Database Engineer Amazon.com Paper
DB-16 : JTA Transactions in the RDBMS, What's Going on Down There? Deb Walz Principal Software Engineer.
SQL School is strongly committed to provide COMPLETE PRACTICAL REALTIME Trainings on SQL Server Technologies – Dev, SQL DBA, MSBI (SSIS, SSAS, SSRS) and.
Recovery Log Notes Gus Björklund, Progress Dan Foreman, Bravepoint 2014 Americas PUG Challenge Westford, MA June 8 – June
DB-08: A Day in the Life of a Type II Record Richard Banville Progress Fellow.
OPS-12: A New Spin on Some Old Latches Richard Banville Fellow.
Using Progress® Analytical Tools Adam Backman White Star Software DONE-05:
Preface 1Performance Tuning Methodology: A Review Course Structure 1-2 Lesson Objective 1-3 Concepts 1-4 Determining the Worst Bottleneck 1-5 Understanding.
CS 540 Database Management Systems
Storage Systems CSE 598d, Spring 2007 OS Support for DB Management DB File System April 3, 2007 Mark Johnson.
SAP Tuning 실무 SK㈜ ERP TFT.
Oracle Database Architectural Components
214: The OpenEdge DBA Checklist, Things an OE DBA Ought to be Doing
CS 540 Database Management Systems
Behind The Scenes: Updating A Record
27/06/2016 Chandra Sekhar Mohd Sayeed Akthar
Microsoft Dumps Question Answer - Dumps4download
Walking Through A Database Health Check
The Deepest Depths of promon
Real world In-Memory OLTP
Promon for Dummies & Savants
It’s TEMPDB Why Should You Care?
OPS-14: Effective OpenEdge® Database Configuration
Jean Joseph DBA\DEVELOPER
Database administration
Using wait stats to determine why my server is slow
QlikView for use with SAP Netweaver Version 5.8 New Features
Presentation transcript:

1 Performance Data: What is Important and How Do I Make Sense of It Adam Backman A Nice Guy, DBAppraise

2 Shameless Plug DBAppraise is an OpenEdge specific database monitoring service DBAppraise provides our clients with the ability to offload as much of the DBA function as they need Customized to your environment Backed by some of the top OpenEdge DBAs in the world

3 A little note All the information in the world is worth nothing if you cannot interpret it.

4 Agenda Why do you need a monitor? Monitoring Alternatives What Are VSTs? ProTop Basic Capabilities Advanced Features

5 Why monitor? Performance matters Your workload changes – Number of users – Number of Records Application changes Change in the weather

6 Monitoring You need to document where you are now Change one thing at a time so you know the affect of changes Document what constitutes “good” performance Keeping historical records allows for targeted future planning

7 Monitoring Tools/Services Free – Glance – top – promon – ProTop Not Free – OpenEdge Management (product) – DBAppraise (service)

8 What Are VSTs? V irtual S ystem T ables A 4GL View of Progress Data Structures (the same as those shown in PROMON.) No Performance Impact (mostly) Primarily Read-Only Knowing what to use can be a challenge

9 Some VST Quirks Updateable: – _startup._spin – Private buffers Table & Index Ranges: -tablebase, -tablerangesize -indexbase, -indexrangesize – Table & Index Window can be reset! Quirky Keys: – _myconnection… – _tablestat & _indexstat

10

11 ProTop Basic Capabilities Summary Data Blocked Clients & Open Transactions Table & Index Activity User Activity Storage Area Capacity Estimating Big B Latches & Resources Clients & Servers

12 Summary Data 11:32:52 ProTop xvi -- Progress Database Monitor 07/05/05 Sample sports [/db/sports] Rate Hit Ratio: 182:1 195:1 Commits: Sessions: 2057 Miss% : 0.549% 0.512% Latch Waits: Local: 953 Hit% : 99.45% 99.48% Tot/Mod Bufs: Remote: 956 Log Reads: Evict Bufs: 2 1 Batch: 1045 OS Reads: Lock Table: Server: 97 Rec Reads: LkHWM|OldTrx: :00 Other: 51 Log/Rec: Old/Curr BI: TRX: 26 Area Full: % After Image: Disabled Blocked: 0

13 Blocked Sessions Usr Name Note tom REC XQH 102 [Order] julia

14 Record Locks Nice to know Generally, expensive _Lock is not indexed

15 Locked Records for each _Lock no-lock while _Lock-usr <> ?: if _Lock-recid = _Connect-wait1 then do: find _file where _file._file-num = _Lock-table no-error. bxtbl = _file._file-name. end. if _Lock-usr = _Connect-usr then bxwait = bxwait + “ “ + _Lock-flags. else bxque = bxque + " " + _Lock-name. end. bxnote = bxtbl + bxwait + bxque.

16 Open Transactions Usr Name TRX Num BI Clstr Start Trx Stat Duration Wait root :39:05 ACTIVE 00:00: root ALLOCATE 00:00: root :39:06 ACTIVE 00:00: root :39:06 ACTIVE 00:00: julia ALLOCATE 00:00: tom ALLOCATE 00:00:

17 Table Activity Table Statistics Tbl# Table Name Create Read Update Delete OrderLine Order POLine PurchaseOrder Bin Customer Invoice Employee Family

18 Table Stats /** This does NOT work if –tablebase <> 1!!! find _File no-lock where _File._File-num = p_tbl no-error. find _TableStat no-lock where _TableStat-id = p_tbl no-error. display p_tbl _file-num _TableStat-id. **/ /*** use the following: ***/ find _TableStat no-lock where _TableStat-id = p_tbl no-error. find _File no-lock where _File._File-num = _TableStat-id no-error. display p_tbl _file-num _TableStat-id.

19 Index Activity Index Statistics Idx# Index Name Create Read Split Delete BlkDel orderline PU CustNum PU _File/Field PU _Field-Name U _File/Index PU

20 User IO Activity UIO Usr Name Flags PID DB Access OS Rd OS Wr Hit% tom SB % 10 jami SB % 16 julia SB % 17 peter SB % 15 emily SB % 11 tiger SB* % 14 tucker SB % 19 granite SB % 7 astro SB %

21 Estimating Big B Big B GuessTimator Pct Big B % db Size Hit:1 Miss% Hit% OS Rd % % % % % % % % % % % % % % % % 425 <= 150% % % % % % % % % % % % 213

22 Big B MissPct = 100 * ( 1 – ( LogRd – OSRd ) / LogRd )). HitPct = 100 – MissPct. OSRd = LogRd * ( MissPct / 100 ). m2 = m1 * exp(( b1 / b2 ), 0.5 ).

23 Latch Waits Id Latch Requests Waits Lock% MTL_BF % 17 MTL_BHT % 21 MTL_LRU % 10 MTL_LHT % 15 MTL_LKF % 26 MTL_BF % 27 MTL_BF % 25 MTL_BF % 4 MTL_OM %

24 Resource Waits Id Resource Locks Waits Lock% DB Buf S Lock % 6 Record Get % 7 DB Buf Read % 2 Record Lock % 11 DB Buf X Lock % 19 TXE Share Lock % 8 DB Buf Write % 21 TXE Commit Lock % 1 Shared Memory % 3 Schema Lock %

25 Servers and Clients Servers Srv Type Port Con Max MRecv MSent RRecv RSent QSent TimeSlice Login Auto Auto Server IO Srv Type Port Con Max DB Access OS Rd OS Wr Hit% Auto % 20 Auto % 18 Auto % 16 Auto %

26 Storage Area Capacity Area Statistics Area Area Name Blocks Hi Water Free %Used RPB Note Control Area % 64 3 Primary Recovery % 1 6 Schema Area % 64 i(25) ** 7 Cust_Dat % 64 t(48) 8 Cust_Idx % 64 i(157) 9 Sales_Dat % 64 t(41) 10 Sales_Idx % 64 i(125)

27 Storage Area Capacity for each _AreaStatus no-lock, _Area no-lock where _Area._Area-num = _AreaStatus._AreaStatus-Areanum: bfree = _AreaStatus-Totblocks - _AreaStatus-Hiwater. if ( _AreaStatus-Freenum <> ? ) then bfree = bfree + _AreaStatus-Freenum. if bfree = ? then bfree = _AreaStatus-totblocks. used = (( _AreaStatus-totblocks - bfree) / _AreaStatus-totblocks ) * 100. end.

28 Storage Area Contents for each _storageobject no-lock where _storageobject._area-number = xid and _storageobject._object-num > 0 and _storageobject._object-associate > 0: if _storageobject._object-type = 1 then so_tbl = so_tbl + 1. else if _storageobject._object-type = 2 then so_idx = so_idx + 1. end.

29 Balancing IO Database File IO Id Extent Name Mode Blksz Reads Writes Extends sports2000_11.d1 BUFIO sports2000_8.d1 BUFIO sports2000_11.d2 BOTHIO sports2000.db BOTHIO sports2000.d1 BOTHIO sports2000_7.d1 BUFIO sports2000_9.d1 BUFIO sports2000_10.d1 BUFIO sports2000.b1 UNBUFIO sports2000_9.d2 BOTHIO

30 ProTop Architecture VST Based Multi-Platform – UNIX Character – HTML – Windows GUI Using Publish & Subscribe

31 DBAppraise It is a service not a product Have us cover as much of the DBA function as you want 24x7 access to OpenEdge expertise Please visit DBAppraise.com for more information and a demo

32 Q uestions