if you have a transaction processing system,
TRANSCRIPT
-
8/14/2019 If You Have a Transaction Processing System,
1/29
If you have a transactionprocessing system,
John Meisenbacher
-
8/14/2019 If You Have a Transaction Processing System,
2/29
I can create a simpleaccurate CPU performance
modelthat can help you make
your system more efficient
-
8/14/2019 If You Have a Transaction Processing System,
3/29
in one week
with the data you alreadycollect.
-
8/14/2019 If You Have a Transaction Processing System,
4/29
And so can you !
-
8/14/2019 If You Have a Transaction Processing System,
5/29
Performance model
A performance model provides thequantitative information you need to:
Manage the performance of your system
and Understand the impact of:
Software changes
Hardware / configuration changes and Actual / projected transaction load
changes.
-
8/14/2019 If You Have a Transaction Processing System,
6/29
CPU performance model
The best model is only as complex as itneeds to be to provide information thatis sufficiently accurate to help you
make the right decision. This model focuses on the CPU
Not memory
Not file I/O
Not network bandwidth Not transaction latency
CPU is typically the constraining
-
8/14/2019 If You Have a Transaction Processing System,
7/29
Performance
Support capacity planning to properly size the hardware system
required by the software intensive
transaction processing system. Identify performance changes
With changing hardware, software, andtransactions.
Isolate performance issues within thesystem.
-
8/14/2019 If You Have a Transaction Processing System,
8/29
But first a word about
You should understand the basicfeatures of most transactions in thereal world.
The rate, transactions per second(TPS), varies: During the day there are peak hours
During the week there are peak days During the year there are peak months /
seasons
-
8/14/2019 If You Have a Transaction Processing System,
9/29
Daily transaction cycles
-
8/14/2019 If You Have a Transaction Processing System,
10/29
The question
Is my hardware (CPU) properlysized to support my peak
transaction period in mynext peak season?
Possible ways to answer thequestion: Use a commercial capacity planning tool.
-
8/14/2019 If You Have a Transaction Processing System,
11/29
Commercial capacityl nnin t l
Commercial capacity planning toolstypically focus on system size, acutesystem issues, and hardware
projections. These tools typically do not easily
integrate with transaction rates andtherefore cannot model transactionsystems.
They may be good for monitoringand alerts but unless transaction
-
8/14/2019 If You Have a Transaction Processing System,
12/29
Daily CPU usage pattern
-
8/14/2019 If You Have a Transaction Processing System,
13/29
Build a performance testnvir nm nt f r th
1. Build and maintain a hardware testenvironment as close as possible toproduction.
2. Load production software and build adatabase as close as possible toproduction.
3. Develop a way to send production like
transactions through the system.4. Floor it. Max out the system to seewhen it breaks.
5. Hope your test setup is close enough
-
8/14/2019 If You Have a Transaction Processing System,
14/29
Build a CPU model of the
A CPU model of the transactionprocessing systems integrates threeperspectives:
1. Business the transactions processed.
2. Capacity Planning the hardwaresystems used to process the
transactions.3. Software Engineering the software
intensive systems and databases that
-
8/14/2019 If You Have a Transaction Processing System,
15/29
Rise and fall of
Most online real world transactionsrise and fall during the day, week,month, and year.
The method takes advantage ofthese cycles.
Multiple data points are used for
correlation analysis. The approach can be used in
-
8/14/2019 If You Have a Transaction Processing System,
16/29
Transaction processing andP
-
8/14/2019 If You Have a Transaction Processing System,
17/29
Data reported in time
Report data around the peak period. CPU usage in some time increment, generally
between 10 and 20 minutes. (15 minutes iscommon)
Shorter time periods provides more data andvariation but may not improve accuracy. Longer time periods require less data and hides
variation reducing accuracy and precision.
Transactions are typically logged by time.
Report the number of transactions in the sameincrement used for CPU usage. If the processing demands of different transactions
vary significantly then report the rates separately.
-
8/14/2019 If You Have a Transaction Processing System,
18/29
Create the model
Excel is sufficient to correlate theinformation Graphically displayed for human analysis Quantified for modeling and projections
Simply defined from the previous graph: CPU utilization = CPU per TPS * TPS +
overhead y = a*x + b
System capacity is the TPS rate that drivesthe system to your safe limit, such as 80%CPU utilization.TPS Limit = (Safe CPU limit overhead ) /
-
8/14/2019 If You Have a Transaction Processing System,
19/29
Graph of correlation shapes
-
8/14/2019 If You Have a Transaction Processing System,
20/29
Correlate TPS and CPU
-
8/14/2019 If You Have a Transaction Processing System,
21/29
Transaction processing
The software intensive systemtypically includes processes relatedto transactions:
The actual transaction processing Data management for look-ups and
logging Communication processing Format conversion
As well other processes, such ass stem monitorin , that are
-
8/14/2019 If You Have a Transaction Processing System,
22/29
CPU divided by type of
-
8/14/2019 If You Have a Transaction Processing System,
23/29
Use the model to manage thet m
Using the previous graph What can wechange to avoid purchasing additionalhardware for the upcoming peak season? Improving communication and format conversion
provides limited benefit. The transaction or database process might be
made more efficient. Wide swings in other processes, independent of
transactions, should also be addressed.
The change, in this real-world case, was madeto transaction replication in the database.
The release was rolled out into product and anew model created.
-
8/14/2019 If You Have a Transaction Processing System,
24/29
System After ApplicationP rf rm n M ifi ti n
-
8/14/2019 If You Have a Transaction Processing System,
25/29
Manage performance within ar l
The precision of the model can be used tomeasure changes in the system.
Data from the previous day can be collectedand quickly analyzed to determine ifchanges to the system have improved ordegraded performance.
In the next graph several changes, such asincreased monitoring that was backed out
and improvements in other scripts areplotted as over a one month period leadingup to peak season.
-
8/14/2019 If You Have a Transaction Processing System,
26/29
Variation of system capacity
Monitoring Scripts
And
Other scripts optimized
OK after OK during peak
-
8/14/2019 If You Have a Transaction Processing System,
27/29
Work with system experts
In the previous examples the business wassupported through cooperation betweencapacity planning and software experts.
Creating the model, generally fairly easy, is
only the first step. You must use work with developers or
vendors to successfully manage and adjustsystem performance.
The model provides quantitative informationto evaluate the system and determine ifadditional hardware is necessary or if thereis a more cost effective solution but thisre uires our ex erience and insi ht.
-
8/14/2019 If You Have a Transaction Processing System,
28/29
Trust your experience and
I would like to say that the modelprovides all the answers on a silverplatter.
However (as you know), there is nosilver platter for capacity planners andsystem owners.
Use the model along with yourunderstanding of hardware and
software systems to direct your analysisand decision.
And then collect more production data
-
8/14/2019 If You Have a Transaction Processing System,
29/29
Good luck !
I hope you have found this presentationinformative.
Please try this technique if you thinkit might help and, if you could,
please let me know what worked
and didnt work for you.