CMG performance and scalibility of a .net application
CMG performance and scalibility of a .net application
Performance Professionals
The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the
measurement and management of computer systems. CMG members are primarily concerned with performance evaluation of existing systems to maximize
performance (eg. response time, throughput, etc.) and with capacity management where planned enhancements to existing systems or the design of new
systems are evaluated to find the necessary resources required to provide adequate performance at a reasonable cost.
This paper was originally published in the Proceedings of the Computer Measurement Group’s 2003 International Conference.
Copyright 2003 by The Computer Measurement Group, Inc. All Rights Reserved. Published by The Computer Measurement Group, Inc. (CMG), a non-profit
Illinois membership corporation. Permission to reprint in whole or in any part may be granted for educational and scientific purposes upon written application to
the Editor, CMG Headquarters, 151 Fries Mill Road, Suite 104, Turnersville , NJ 08012.
BY DOWNLOADING THIS PUBLICATION, YOU ACKNOWLEDGE THAT YOU HAVE READ, UNDERSTOOD AND AGREE TO BE BOUND BY THE
FOLLOWING TERMS AND CONDITIONS:
License: CMG hereby grants you a nonexclusive, nontransferable right to download this publication from the CMG Web site for personal use on a single
computer owned, leased or otherwise controlled by you. In the event that the computer becomes dysfunctional, such that you are unable to access the
publication, you may transfer the publication to another single computer, provided that it is removed from the computer from which it is transferred and its use
on the replacement computer otherwise complies with the terms of this Copyright Notice and License.
Copyright: No part of this publication or electronic file may be reproduced or transmitted in any form to anyone else, including transmittal by e-mail, by file
transfer protocol (FTP), or by being made part of a network-accessible system, without the prior written permission of CMG. You may not merge, adapt,
translate, modify, rent, lease, sell, sublicense, assign or otherwise transfer the publication, or remove any proprietary notice or label appearing on the
publication.
Disclaimer; Limitation of Liability: The ideas and concepts set forth in this publication are solely those of the respective authors, and not of CMG, and CMG
does not endorse, approve, guarantee or otherwise certify any such ideas or concepts in any application or usage. CMG assumes no responsibility or liability
in connection with the use or misuse of the publication or electronic file. CMG makes no warranty or representation that the electronic file will be free from
errors, viruses, worms or other elements or codes that manifest contaminating or destructive properties, and it expressly disclaims liability arising from such
errors, elements or codes.
General: CMG reserves the right to terminate this Agreement immediately upon discovery of violation of any of its terms.
Learn the basics and latest aspects of IT Service Management at CMG's Annual Conference - www.cmg.org/conference
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
Renuka S.R
Infosys Technologies, Bangalore, India
[email protected]
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
40 12
35
10
Response Time
2.1 Increasing number of simulated users 30
25 8
Users
20 6
Load testing comprises of generating and increasing 15
4
the number of simulated users to analyze the impact of 10
5 2
multiple users on the application performance. Most 0 0
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
10
11
12
13
14
15
16
17
18
0
1
2
3
4
5
6
7
8
9
the number of users during a test run. A load-testing Tim e
tool creates a specified number of simulated user
threads and runs the test script for each user thread Users Response Time
60.00
120 50.00
The result of the test is shown in Table 1.
Little’s
Users
100
40.00
80 Request Time= Law
60 30.00
40 20.00 Number Throughput (Response time Validation
20 10.00 of Users Operations/sec + Think Time) N=
0 0.00 (N) (X) Seconds (R+Z) X*(R+Z)
10 0.46 21.07 9.69
10
11
12
13
14
15
16
17
18
19
20
21
0
1
2
3
4
5
6
7
8
9
response times are consistent and report lower values Table 1 Search Inventory results showing Little's law
for the same number of users. The results of the tests validation
indicated that a test execution should account for the The response times increased and the throughput of
time taken by the server to stabilize for analyzing the search operation reduced rapidly. The resource
performance. utilization (CPU, Disk and Memory, Network) of the
servers on which the application was deployed was 1. Replacing View state with session data stored in
less than 30%. Hence, the server resources were not database reduced utilization of network bandwidth.
the cause for the performance bottleneck. View state is a .NET mechanism (hidden variable
with name value pair) by which data can be sent to
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
The application logs indicated the total processing time client and back to the server. .
at the .Net server was 10 seconds while the response 2. Replacing Combo boxes with text boxes in search
time reported by the load-testing tool was 97 seconds. screens resulted in a significant reduction in page
After monitoring the application and the deployment size.
configuration, the resource utilization of the machines
running the load-testing tool was monitored. The CPU For optimizing further, code was profiled and database
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
Utilization of the machines reached 80% - hence the was tuned to achieve acceptable performance. Some
load-testing tool was the bottleneck. of the common techniques that improved performance
are:
For other applications tested using the same • Algorithm Optimization
configuration of machines, the load-testing tool was • Low level program optimization (Use of String
capable of simulating 100 users. However, the tool Builder, reference type, structured exceptions.)
(using DOM – Document Object Model parsing • Addition of relevant indexes in the database
mechanism for running the test script) was unable to • Addition of hints to SQL Query Plan.
parse the complex ASP simulating only 20 users.
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
processors from 2 to 4. Hence, the scale-out approach
of 4 processor servers (addition of 4 processor
servers) should be adopted to handle increase in
workload.
5. Conclusion
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
References