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

Those Who Don't Learn From History Tom Bascom, President Greenfield Technologies.
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.
What’s that user doing? Rich Banville / Richard Shulman June 7, 2011 The OpenEdge Statement Cache.
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.
DEV-2: Getting Started with OpenEdge® Architect – Part I
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 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.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
DB-5: Simulating User Load Tom Bascom VP Technology White Star Software
Database Monitoring With
Seafile - Scalable Cloud Storage System
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.
Performance testing of Progress Appservers and a plug-in for Jmeter
Database I/O Mechanisms
New Generation of OpenEdge ® RDBMS Advanced Storage Architecture II Tomáš Kučera Principal Solution Engineer / EMEA Power Team.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Birth, Death, Infinity Gus Björklund. ???. Dan Foreman. BravePoint. PUG Challenge Dusseldorf 2014.
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.
As quick as you think! 06 Paul Landucci Stéphane Coez.
1 Performance Data: What is Important and How Do I Make Sense of It Adam Backman A Nice Guy, DBAppraise.
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.
Progress Database Admin 1 Jeffrey A. Brown - Technical Support Consultant
What’s new in OpenEdge 10.2B OpenEdge Management OpenEdge Replication
DB-16 : JTA Transactions in the RDBMS, What's Going on Down There? Deb Walz Principal Software Engineer.
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.
Copyright © Andrew Couch 2007 All rights reserved. Access Tables Without Keys & Views How To Manage Keys On Access Tables Andrew Couch ASC Associates.
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.
ASSIGNMENT 2 Salim Malakouti. Ticketing Website  User submits tickets  Admins answer tickets or take appropriate actions.
CS 540 Database Management Systems
Storage Systems CSE 598d, Spring 2007 OS Support for DB Management DB File System April 3, 2007 Mark Johnson.
1 Michigan Progress Users Group 2015 Strength. Strategy. Stability. Identifying Performance Issues in Progress Code and Queries.
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
Progress System Tables
OPS-14: Effective OpenEdge® Database Configuration
The File Manager Implementation issues
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 Agenda Why do you need a monitor? Monitoring Alternatives What Are VSTs? Basic Capabilities Advanced Features

3 Monitoring Tools/Services Free – Glance – TOP – PROMON – ProTop Not Free – OpenEdge Management – ProMonitor – DBAppraise

4 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

5 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

6

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

8 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

9 Sample, Summary, Rate & Raw Data BaseValue LastValue ThisValue SampleTime SummaryTime SampleRate = (ThisValue – LastValue) / SampleTime. SummaryRate = (ThisValue – BaseValue) / SummaryTime. SampleRaw = (ThisValue – LastValue). SummaryRaw = (ThisValue – BaseValue).

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

11 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.

12 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:

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

14 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.

15 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

16 Index Type find _IndexStat no-lock where _IndexStat-id = p_idx no-error. find _Index no-lock where _Index._Idx-num = _IndexStat-id no-error. find _File where recid( _File ) = _Index._File-recid no-error. tt_index.idxnote = _File._File-name + “. ” + _Index._Index-name + ( if _file._prime-index = recid(_index) then “ P" else “ " ) + ( if _index._unique then "U" else "" )

17 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 %

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

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

20 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 %

21 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 %

22 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 %

23 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)

24 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.

25 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.

26 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

27 A Monitoring Architecture VST Based Multi-Platform – UNIX Character – HTML – Windows GUI Using Publish & Subscribe

28 Events That A Module Handles Mon-Restart – Empty Temp-Table – Remove self from memory Mon-Init – Empty Temp-Table – Define Display Data Elements Mon-Update – Refresh Data – Calculate intervals, rates and so forth – Update UI Temp-Table with results

29 Q uestions