if you have a transaction processing system,

Upload: jmeisenb

Post on 30-May-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 If You Have a Transaction Processing System,

    1/29

    If you have a transactionprocessing system,

    John Meisenbacher

    [email protected]

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