 
Member
Performance Formula What would be the formula for calculating performance of an application which is deployed on a spefic hardware?
If there is any generic formula please help us
Ex: RAM 1GB ProcesserPIV, Intel 850 mother board
For 100 users what would be the response time?
How do i analyse it? 
Senior Member
Re: Performance Formula I'm sure a formula could be created; however, it would take years and still be suspect in my mind. This forum is all about testing and basing decisions on the results of that testing.
There are so many factors that could influence response time, it's a far better practice to test and see if your requirements are met. If not, you'll need to tune out whatever bottlenecks that prevented your system from achieving its goal, then retest.
In your question, you mentioned memory and CPU. These are important factors to consider during your testing. You should also consider the application code, network, disks, etc. Pretty much anything in your system can be the bottleneck and it sometimes takes some creative detective work to find them.
Nate 
Senior Member
Re: Performance Formula Well, if you want to go the mathematics route, you could look at Queuing network models in the area of quantitative system performance. This is a particular approach to computer system modelling in which the system is represented as a network of queues and is evaluated analytically.
Here's a quote from the first chapter of Edward Lazowka's book on queuing theory:
"A network of queues is a collection of service centers, which represent system resources, and customers, which represent users or transactions. Analytic evaluation involves using software to solve efficiently a set of equations induced by the network of queues and its parameters."
I prefer Raj Jain's tome  "The art of computer systems performance analysis"  which also takes a rigourous mathematical approach. One very dogeared copy lies on my desk with bookmarks sticking out of it. It's been there for over a year now. My mathematics is a bit rusty, I must admit, ergo my progress has been rather slow! 
Senior Member
Re: Performance Formula There can be NO universal formula for computing the response time.
The usage of CPU & Memory also majorily depends the nature of your application. Your application can be:
 CPU Intensive or
 Memory Intensive
So, first benchmark you application at given hardware configuration. Now Upgrade one component of the hardware e.g. RAM from 1GB to 2GB and now check the response time of the application. If improvement is there then measure the percentage. Along with measuring performance of the application you have to analyse the RAM usage at the server i.e how much is utilized or how much is idle. Similarly, you can try for another crucial component i.e. Processor.
By carefully examining the results of runs at different hardware configurations, you may derive any formula (if any) but that would be purely would be applicable to your application only.
Hope, the thought is in right direction. :) Manoj Jain
(manojjain99@yahoo.com)
A highly advanced bug is indistinguishable from a feature. 
Junior Member
Re: Performance Formula From Little's law, where
M = concurrent users
R = response
Z = think time
X = throughput,
M = (R + Z) * X
solving for R:
R = M /X  Z 
Member
Re: Performance Formula There are way too many factors to consider when factoring response time, but a good start is to establish a baseline and over time, check the deviation skew to define overall respose times. 
Junior Member
Re: Performance Formula Hi KMandar,
take a look at www.globaltester.com (Performance Testing > Workload/Resource Characterization). It won't answer your question in two sentences. But you will realize the problems with performance testing.
Regards, Sascha 
Junior Member
Re: Performance Formula CORRECTION
Solving for R gives:
R = (M  ZX) / X
which does NOT simplify to:
(M / X)  Z
This formula will hold until a significant bottleneck is reached. Queuing can develop at places other than the cpu. Watch utilizations as you increase throughput from a low starting point. High variability in service times can also add additional wait as throughput increases.
You need to measure throughput with at least one user. Simply execute the workload/use case manually, while measuring response at each step. Total the responses and your throuput is 1 / (total resp). Plug the result into the formula with M = 1 user, and Z = 0 think time. You will see that your response equals the total response you measured. Now you can play with M and Z to see how it impacts response, providing your system does not bottleneck.
The accuracy of this formula degrades with increased variability and developing bottlenecks. I have used it many times to validate test tool results and for planning load tests. 
Junior Member
Re: Performance Formula The correction I just noted needs corrected [img]images/icons/smile.gif[/img]
It does simplify.
One of the beauties of this formula is you can easily (for some people) solve it for whatever variable you need, and it works. 
Member
Re: Performance Formula
Originally posted by hookset: CORRECTION
Solving for R gives:
R = (M  ZX) / X <font size="2" face="Verdana, Arial, Helvetica">This looks very interesting, but I have a few questions regarding your variables:
1. I measure Response time per transaction. Transaction A takes 5 seconds, transaction B take 13. How would you use these stats?
2. Why do you calculate the think time? I always make sure that Think Times are left outside transactions, and are not measured. Don't you do the same?
3. When you talk about Throughput, do you mean Total Throughput in the system? Per second?
I tried using your formula with some tests I have been running. The variables I have used the following stats:
Response = I have chosen the Response time of a specific Transaction. The Response time was 6.3
Users = I ran 7 users on the system
Think time = 0, as I use Think Time only outside measured transactions.
Throughput = This is the data I find most confusing, as average Throughput I measured was 54K per seconds.
So using the formula it was sown to something like (70*54)/54 = 7/54 = 0.12 => What is this number?
This system seem very interesting, I would appreciate more info, as I currently find it confusing.
Posting Permissions
 You may not post new threads
 You may not post replies
 You may not post attachments
 You may not edit your posts

Forum Rules 