DB-5: Simulating User Load Tom Bascom VP Technology White Star Software

Slides:



Advertisements
Similar presentations
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Advertisements

1 Tuning Your Application Rob Marshall Principal Solutions Consultant, Progress Software Session 131.
Chapter 9. Performance Management Enterprise wide endeavor Research and ascertain all performance problems – not just DBMS Five factors influence DB performance.
Visit : Call Us: US: , India:
Visit : Call Us: US: , India:
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.
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.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Workload Characterization Sept. 23 rd, 2008 CSCI 8710.
  Copyright 2003 by SPAN Technologies. Performance Assessments of Internet Systems By Kishore G. Kamath SPAN Technologies Testing solutions for the enterprise.
CS CS 5150 Software Engineering Lecture 19 Performance.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
OS Spring 2004 Concurrency: Principles of Deadlock Operating Systems Spring 2004.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
OS Fall’02 Concurrency: Principles of Deadlock Operating Systems Fall 2002.
Performance Evaluation
Measuring Performance Chapter 12 CSE807. Performance Measurement To assist in guaranteeing Service Level Agreements For capacity planning For troubleshooting.
1 Software Testing and Quality Assurance Lecture 40 – Software Quality Assurance.
©Company confidential 1 Performance Testing for TM & D – An Overview.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
UQC113S2 Interrupt driven IO. We have already seen the hardware support required to facilitate interrupts We will now look at the higher levels of software.
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
Distributed File Systems Sarah Diesburg Operating Systems CS 3430.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Database Storage Considerations Adam Backman White Star Software DB-05:
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.
Introduction Optimizing Application Performance with Pinpoint Accuracy What every IT Executive, Administrator & Developer Needs to Know.
2 Copyright © 2006, Oracle. All rights reserved. Performance Tuning: Overview.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
IT The Relational DBMS Section 06. Relational Database Theory Physical Database Design.
1 Performance Data: What is Important and How Do I Make Sense of It Adam Backman A Nice Guy, DBAppraise.
1 Robert Wijnbelt Health Check your Database A Performance Tuning Methodology.
Top 10 Performance Hints Adam Backman White Star Software
Copyrighted material John Tullis 10/6/2015 page 1 Performance: WebSphere Commerce John Tullis DePaul Instructor
Strength. Strategy. Stability.. Progress Performance Monitoring and Tuning Dan Foreman Progress Expert BravePoint BravePoint
CHAPTER 2: COMPUTER-SYSTEM STRUCTURES Computer system operation Computer system operation I/O structure I/O structure Storage structure Storage structure.
© Pearson Education Limited, Chapter 16 Physical Database Design – Step 7 (Monitor and Tune the Operational System) Transparencies.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Improving Efficiency of I/O Bound Systems More Memory, Better Caching Newer and Faster Disk Drives Set Object Access (SETOBJACC) Reorganize (RGZPFM) w/
LoadRunner SE Guide 김범수 한국비지네스써비스 ( 주 )
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Oracle Tuning Considerations. Agenda Why Tune ? Why Tune ? Ways to Improve Performance Ways to Improve Performance Hardware Hardware Software Software.
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
Lecture 11 Page 1 CS 111 Online Working Sets Give each running process an allocation of page frames matched to its needs How do we know what its needs.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Network design Topic 6 Testing and documentation.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
1 3 Computing System Fundamentals 3.3 Computer Systems.
Using Progress® Analytical Tools Adam Backman White Star Software DONE-05:
Understanding Performance Testing Basics by Adnan Khan.
Copyright Sammamish Software Services All rights reserved. 1 Prog 140  SQL Server Performance Monitoring and Tuning.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Performance Testing - LR. 6/18/20162 Contents Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture.
Distributed File Systems
Diskpool and cloud storage benchmarks used in IT-DSS
Database Corruption Advanced Recovery Techniques|
Chapter 2: System Structures
Introduction of Week 3 Assignment Discussion
Module 2: Computer-System Structures
Database Corruption Advanced Recovery Techniques
ColdFusion Performance Troubleshooting and Tuning
Database Corruption Advanced Recovery Techniques
“All Lawson, All the Time!”
Performance And Scalability In Oracle9i And SQL Server 2000
Advanced Recovery Techniques
Module 2: Computer-System Structures
Module 2: Computer-System Structures
Presentation transcript:

DB-5: Simulating User Load Tom Bascom VP Technology White Star Software

DB-5: Simulating User Load - 2 Sanity Check! n This Presentation is NOT about simulating your user interface. n We are going to discuss a method for creating a database load that mimics a target usage profile.

DB-5: Simulating User Load - 3 The Challenge n A Volatile Business Environment n System Load expands to consume all resources… n Something is Always changing… n Fighting Misconceptions: –Load testing is too difficult. –Load simulation tools are expensive. –Load testing tools don’t support Progress.

DB-5: Simulating User Load - 4 Why Simulate User Load? n Regression Testing n Finding the Limits / Capacity Planning n Root Cause Analysis n Minimizing Cost / Optimizing Resources n Quality of Service (QoS) Assurances n To support other testing efforts more realistically

DB-5: Simulating User Load - 5 Considerations of Fidelity n Assumptions n Characterizing the Load n Where are the Bottlenecks? n Users are fickle… n How do we (realistically) drive test scenarios? (Or: Are we really simulating user load?)

DB-5: Simulating User Load - 6 Assumptions n We are primarily interested in the DATABASE. n READ activity is, by far, the largest consumer of database resources. n WRITE activity is also important. n An ABL session is an ABL session… (in terms of resource use) n The functionality of the application is not being tested (by these tests).

DB-5: Simulating User Load - 7 Characterizing the Load n Historical data collection is a must. n Application Metrics –Orders Taken –Widgets Produced n Baseline db Performance –Logical IO ops/sec –Disk IO ops/sec –Latch & Resource Waits –TRX, Record Locks & Blocked Clients n IO by User n TableStats

DB-5: Simulating User Load - 8 Where are the Bottlenecks? n Database –Latch contention –Transaction throughput n Operating System –Disk –CPU –Memory –Network

DB-5: Simulating User Load - 9 Users are fickle… n They work on different things… n at different rates … n pretty much randomly … n and sometimes at their leisure ;-) n Our best friends are: –IO by User (PROMON, ProTop) –_TableStat (VST, ProTop)

DB-5: Simulating User Load - 10 IO Requests by User

DB-5: Simulating User Load - 11 IO Requests by Table

DB-5: Simulating User Load - 12 IO Requests by Table Create Read Update Delete 5,940,439 1,662,688,907 2,540,165 2,500, % 99.34% 0.15% 0.15% 83.8/s 23,454.5/s 35.8/s 35.3/s Table Name Created % Read % Updated % Deleted % CHART_ENTRY ,061,326, BUREAU_QUEUE ,087, , APP_INFO 4, ,913, , BTE_QUEUE ,612, , SCORE_EXPWGHT ,349, APP_REQUEST 4, ,491, , APP_TRADE 105, ,499, , , APP_OPTION 23, ,341, , , APP_TRANSTAGG 3,347, ,603, ,919,

DB-5: Simulating User Load - 13 Data Distribution

DB-5: Simulating User Load - 14 Idle Users? Current Users: 192 Idle Users: 0: :02 8 0: :04 4 0:05 4 0:06 2 0:07 4 0:08 4 0: m - 1hr: 51 Hour+ old: 32

DB-5: Simulating User Load - 15 How do we drive test scenarios? n With some ABL code that reads and writes records as the application does. n Distributed among many sessions. n Profiled according to TableStats.

DB-5: Simulating User Load - 16 Code !!!

DB-5: Simulating User Load - 17 WARNING n Using the CREATE, UPDATE or DELETE routines will modify your database! n Use these destructive options only with test copies of your database. n Use the READ-ONLY option with production databases!

DB-5: Simulating User Load - 18 A Simulation Controller n You already have everything that you need… n A generic Load driver n Tuning the driver to your Load n Controlling test runs

DB-5: Simulating User Load - 19 Control Program (pacectl.p) cmd = “mbpro &1 -pf pace.pf -param &2 -U &3". input from value( "io.usr" ). do while true: import io_usr nm_usr. xcmd = substitute( cmd, pdbname(1), io_usr, nm_usr ). message xcmd. if opsys = "unix" then os-command silent value( xcmd ). else run spawn( input xcmd, input "", output pid ). pause 1. end.

DB-5: Simulating User Load - 20 Config File (io.usr) 0,500,50,0 jami 0,100,10,0 tucker 0,50,5,0 jami 0,40,4,0 julia 0,30,3,0 peter 0,20,2,0 emily

DB-5: Simulating User Load - 21 pace.p do while true: x = random( 1, pickLimit ). find first tt_pace where tblPick >= x. run xread( tblName, r_rate ). t = time - s. do while (( i / t ) > r ): pause 1 no-message. t = time - s. end.

DB-5: Simulating User Load - 22 xread() create buffer bh for table tblName. qh:set-buffers( bh ). qh:query-prepare( “for each “ + tblName ). j = random( j / 2, j * 10 ). do while k < j: qh:get-next( no-lock ) no-error. if qh:query-off-end then do: qh:get-first( no-lock ) no-error. next. end. k = k + 1. end.

DB-5: Simulating User Load - 23 Demo !!!

DB-5: Simulating User Load - 24 Selected Case Studies n Benchmarking OpenEdge 10.0 –PSDN Whitepaper: n Ensuring Disk Array Performance n Verifying a Failover Plan n Validating Parameter Changes n Providing a background load for development or testing environments. n Supporting Demos ;-)

DB-5: Simulating User Load - 25 Benchmarking OE10 n PSDN Whitepaper: n Problem: –How Does OE10 Compare to Progress 9?

DB-5: Simulating User Load - 26 Ensuring Disk Array Performance n Problem: –Will a new disk array configuration support the production workload? n Several previous attempts to go live had failed. n Load simulation was used to prevent a repeat of that fiasco. n Problems were found and solutions were verified and confidence was repaired prior to a successful implementation.

DB-5: Simulating User Load - 27 Verifying a Failover Plan n Problem: –Redundant (and expensive) systems were purchased and configured for mutual failover. n A method to realistically test a failover with significant load on the hardware was needed. n The failover worked very well! n But the “fail back” failed miserably  n As a result a serious OS bug was identified and fixed and downtime avoided.

DB-5: Simulating User Load - 28 Validating Parameter Changes n Problem: –Changing many Progress and OS parameters can result in unanticipated limits being reached. n # of file handles, semaphores, memory size etc… n Solution: –Use the load simulator to start sessions and stress these limits.

DB-5: Simulating User Load - 29 Background Load n Problem: –Developers and testers are often working on over-powered servers with no competition for resources. –Which leads to a false sense of good performance when testing. n Solution: –Run load simulator to provide a continuous background load.

DB-5: Simulating User Load - 30 Demos! n Problem: –Single user demos are boring. n Solution: –Create some fake users that do interesting things.

DB-5: Simulating User Load - 31 Summary n Basic Load Simulation is easier than you think! n And doesn’t necessarily require fancy (and expensive) tools. n It does require fore-thought and planning. n And can be immediately useful to you!

DB-5: Simulating User Load - 32 Questions