Presentation is loading. Please wait.

Presentation is loading. Please wait.

If you have a transaction processing system, John Meisenbacher

Similar presentations


Presentation on theme: "If you have a transaction processing system, John Meisenbacher"— Presentation transcript:

1 If you have a transaction processing system, John Meisenbacher john_meisenbacher@ieee.org

2 I can create a simple accurate CPU performance model that can help you make your system more efficient

3 in one week with the data you already collect.

4 And so can you !

5 Performance model A performance model provides the quantitative 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.

6 CPU performance model The best model is only as complex as it needs to be to provide information that is 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 resource in the systems that I have modeled and improved.

7 Performance management goals Support capacity planning – to properly size the hardware system required by the software intensive transaction processing system. Identify performance changes – With changing hardware, software, and transactions. Isolate performance issues within the system. An accurate model of production should: – Be easy to use / understand and – Provide low cost and timely information.

8 But first a word about transactions You should understand the basic features of most transactions in the real 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 Transaction processing systems are typically sized for the peak hour of the peak day of the next peak season.

9 Daily transaction cycles

10 The question Is my hardware (CPU) properly sized to support my peak transaction period in my next peak season? Possible ways to answer the question: – Use a commercial capacity planning tool. – Run a performance test in the lab. – Use a CPU model validated in production.

11 Commercial capacity planning tools Commercial capacity planning tools typically focus on system size, acute system issues, and hardware projections. These tools typically do not easily integrate with transaction rates and therefore cannot model transaction systems. They may be good for monitoring and alerts, but unless transaction loads are factored in this approach cannot give an precise answer.

12 Daily CPU usage pattern

13 Build a performance test environment for the transaction processing system 1.Build and maintain a hardware test environment as close as possible to production. 2.Load production software and build a database as close as possible to production. 3.Develop a way to send production like transactions through the system. 4.Floor it. Max out the system to see when it breaks. 5.Hope your test setup is close enough to production to matter (or calibrate it with a production CPU model).

14 Build a CPU model of the system A CPU model of the transaction processing systems integrates three perspectives: 1.Business – the transactions processed. 2.Capacity Planning – the hardware systems used to process the transactions. 3.Software Engineering – the software intensive systems and databases that process the transactions.

15 Rise and fall of transaction rates Most online real world transactions rise and fall during the day, week, month, and year. The method takes advantage of these cycles. Multiple data points are used for correlation analysis. The approach can be used in production, possibly eliminating the need for a performance test environment.

16 Transaction processing and CPU usage

17 Data reported in time increments Report data around the peak period. CPU usage in some time increment, generally between 10 and 20 minutes. (15 minutes is common) – Shorter time periods provides more data and variation 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 same increment used for CPU usage. – If the processing demands of different transactions vary significantly then report the rates separately. Multiple days are easily merged into one dataset.

18 Create the model Excel is sufficient to correlate the information – 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 drives the system to your “safe” limit, such as 80% CPU utilization. – TPS Limit = (“Safe” CPU limit – overhead ) / CPU per TPS Most systems are linear, but could also be exponential or logarithmic.

19 Graph of correlation shapes

20 Correlate TPS and CPU

21 Transaction processing systems The software intensive system typically includes processes related to transactions: – The actual transaction processing – Data management for look-ups and logging – Communication processing – Format conversion As well other processes, such as system monitoring, that are independent of transaction rates.

22 CPU divided by type of processing

23 Use the model to manage the system Using the previous graph – What can we change to avoid purchasing additional hardware 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 made to transaction replication in the database. The release was rolled out into product and a new model created.

24 System After Application Performance Modification

25 Manage performance within a release The precision of the model can be used to measure changes in the system. Data from the previous day can be collected and quickly analyzed to determine if changes to the system have improved or degraded performance. In the next graph several changes, such as increased monitoring that was backed out and improvements in other scripts are plotted as over a one month period leading up to peak season. Note the change in the axis on the next graph – higher points indicate more capacity (is better).

26 Variation of system capacity Monitoring Scripts added And removed Other scripts optimized OK after release OK during peak period

27 Work with system experts In the previous examples the business was supported through cooperation between capacity 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 adjust system performance. The model provides quantitative information to evaluate the system and determine if additional hardware is necessary or if there is a more cost effective solution – but this requires your experience and insight.

28 Trust your experience and intuition I would like to say that the model provides all the answers on a silver platter. However (as you know), there is no silver platter for capacity planners and system owners. Use the model along with your understanding of hardware and software systems to direct your analysis and decision. And then collect more production data to evaluate and refine those decisions: – To save money for your company and – To deliver quality results to your customers

29 Good luck ! I hope you have found this presentation informative. Please try this technique if you think it might help and, if you could, please let me know what worked and didn’t work for you. Any further questions ?


Download ppt "If you have a transaction processing system, John Meisenbacher"

Similar presentations


Ads by Google