Simulation-Assisted Performance Engineering
Simulation-Assisted Performance Engineering
Abstract
In this competitive marketplace, businesses seeking to maximize profitable outcomes
need to ensure their information technology (IT) systems are robust in order to
deliver uninterrupted application availability. This is significant for enterprises as high
performance of business applications is an underlying driver of business growth.
Accordingly, the top priority for system administrators is to maintain the health
of their servers in order to meet stringent application performance Service Level
Agreements (SLAs). However, several organizations are suffering due to a reactive
approach to monitoring servers and applications only in the production phase. Thus,
performance issues can be addressed only after they have occurred, often impacting
operations and business.
To address this challenge, organizations need performance testing to detect issues
before the production phase in the Systems Development Lifecycle (SDLC). However,
to be effective, testing needs to be performed continuously and should consider
changes in workload and performance owing to business growth and transitions.
Organizations need a proactive approach that can deliver a timely and holistic view
of an application’s performance, thereby mitigating instances of application failure
and overcoming performance issues and server downtimes. This paper discusses
such a proactive approach that enables organizations to benefit from predictive
and continuous performance and capacity management of their applications and
infrastructure.
Introduction
In today’s connected world, the performance of information technology (IT) systems has a critical role play in shaping the success of
an organization. System administrators are required to execute multitudinous operations to monitor and improve the performance
of all individual components of business applications. Some of these activities include monitoring the system performance/workload,
overcoming business outages or poor performance, and system/infrastructure upgrades with quick turnaround times1.
In such a situation, performance testing is critical to ensure that application end users do not face performance issues in the
production environment. However, typically, performance engineering exercises that identify and resolve performance-related issues
are reactive in nature. Further, the scenarios for performance testing change continuously according to business growth and these
transitions are not considered during performance testing exercises. Today, performance engineering exercises are evolving from
reactive to more holistic and proactive methodologies2. The gradual transition is described in Figure 1 below.
NO
Are cost and YES
performance DONE
acceptable?
Production Capacity
Environment Upgrade Plan
Workload Simulation
Forecasting
Performance
Modeling
The workload modeling tool monitors the usage of applications in the production environment and tracks the variation in usage over
time.The historical usage data collected can be used to predict future changes in the system.
A simulation engine is used to predict system performance in the current production environment. The engine comprises system
performance models and is built using the performance test results and the forecasted workload. In cases where the system
performance does not meet the pre-defined Service Level Agreements (SLAs), proactive corrective measures are taken before an issue
actually surfaces.
The performance model of a system is always built in line with the actual system in the production environment. It is designed by
continuously monitoring the use of infrastructure resources and the performance of the system. If deviations are found between the
performance model predictions and actual system performance, the performance model is modified to mirror the changes in the
actual system.
Workload Business
Intelligence
Workload Drivers &
Forecasting Requirements
Forecasted Workload
Concurrent Hits
System Performance
feed from Performance Predictive Model
Monitors Performance Modeling Creation
Capacity
Legends Projection
Figure 4: The Information Workflow in a Continuous and Predictive Capacity Management Methodology
The projected workload is an input for The proposed solution methodology and performance modeling process.
the performance model and is used to drives significant benefits and helps It enables system administrators to
predict performance under the modified organizations to: address infrastructure requirements for
workload. If the hardware and software Analyze the effect of external consistent system performance over
performance shows deviations from the changes such as workload growth a period of time and deliver upgrades
pre-defined SLAs, the system capacity is on the performance of a business when required.
upgraded accordingly using data from application. This helps minimize risk, Maximize their return on investment
multiple rounds of performance modeling improve quality and enhance end user (RoI) for infrastructure and ensure
and several configurations. The system experience. uninterrupted application availability,
environment can then be continuously thereby helping them achieve their
Upgrade system infrastructure
monitored to ensure SLA adherence and to business objectives.
through a monitoring, forecasting
correct the performance models.
Amit Gawande
works as a Technology Lead at Infosys Labs. He has over five years of experience with a focus in the areas of performance engineering
methodologies and cloud computing. His research interests include performance modeling and simulation techniques.
He can be reached at [email protected]
© 2018 Infosys Limited, Bengaluru, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such information is subject to change without notice. Infosys
acknowledges the proprietary rights of other companies to the trademarks, product names and such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this
documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording or otherwise, without the
prior permission of Infosys Limited and/ or any named intellectual property rights holders under this document.