Re: Analyzing pefr test results and preparing a report

2013-03-13 Thread Vance Zhao
Is your applications / app has set the connection pool properly?


2013/3/13 Perf Test perfs...@gmail.com

 Dear experts,

 This is with regard to analyzing performance test results, I have tested
 performance of an application and obtained following results from jmeter,

 For 100 users load;

 Login page request 10 sec ,

 Login to app 15 sec

 Creator customer 20 sec

  I have to prepare a report for the same, I'm not sure about what are the
 exact or near reasons which are pertaining to my test results (i.e. why app
 responses such slow) which I could mentioned under ‘conclusion’. part in
 the report.

 After discussing I have set the benchmarking for the above areas before
 starting the test

 I have checked the throughput as well, it is below 1 transaction per second
 in most cases, Application in test environment and I have analyzed CPU
 usage, memory, Netwotk I/O etc.

 I need to suggest our client mentioning areas need to improve in
 application, what are the areas in app I should mention i need to mention
 in order to get better performance (which is 3 to 4 sec).

 Network, the amount of memory, CPU usage seems Ok.what about app?

 Thanks,

 Sam



RE: Analyzing pefr test results and preparing a report

2013-03-13 Thread Robin D. Wilson
You need to debug the problem by disassembling all the stuff that is actually 
happening - and trying to test each part as separately
as possible.

What this means is, start with the simplest case you can think of (perhaps Get 
Login Page), and figure out why that page is taking
10 seconds. If you hit it with 10 simultaneous users - does it take the same 
amount of time (or longer, or shorter)? If you hit it
with 1 simultaneous user? 50? 75? Try to figure out if the problem is load 
related, or page/system design related first.

Next, if the problem is related to load - is it because of some backend 
processing that happens when you deliver that page, or is it
just a limitation of your server? Try making the page a static page (request it 
in your browser, then save as an HTML file and
store that on your server - then request that file (instead of the regular 
login page). Just to see if there is a difference.

Also, just out of curiosity - do you have Request All Embedded Resources 
enabled for your test? (This causes JMeter to request all
of the images, css, js, etc. that are embedded in the raw HTML of the page.) If 
those assets are large (big images, movies, sounds,
etc.) that can really affect your ability to exercise the application 
performance of your system. Think about it like this, if you
request 500KB of images for every time you deliver a page, you will be running 
a network load of ~5Mbps (actually a little more -
with the IP signaling overhead and all of that) for each 'user' process making 
that request each second. With 100 simultaneous
users, you could easily be reaching several Gbps of network I/O. That may be 
your bottleneck.

For our performance benchmarking, we try to eliminate the network I/O as the 
bottleneck when we want to test the application
throughput. So we disable Request All Embedded Resources on our tests for 
that part of our benchmarks. We run a separate benchmark
where we examine the network throughput - but our sites are highly multimedia, 
so we know that the network I/O will seriously affect
our overall performance results. (Also, for our testing, we setup our load 
generators (JMeter systems) and our Perf Test Servers on
their own network switch - isolated from all other traffic - to make sure that 
our testing isn't affected by temporary network
activity from other (non-test) users.

Lastly, the goal of performance benchmarking may be different than your goal... 
For us, we use benchmarking to set a baseline for
our testing into the future. That is, we record our results from today's 
code, and then compare them to the next release we are
working on, to make sure that we didn't slow down significantly (or, if we were 
trying to improve performance - that we in fact, did
improve performance). You can certainly use performance testing to help you 
figure out which places have bottlenecks (a different
purpose), but that requires that you record all sorts of metrics on what is 
happening when you are running load on your machines.
(You have to watch CPU, Disk I/O, Network I/O, Database Activity, etc. - on 
both the 'servers' and the 'load generators' - to make
sure you properly isolate where your system is being throttled. Remember, if 
your load generator (JMeter) only has a 100Mbps network
card, you will never be able to generate more than 100Mbps of network traffic 
on your server, no matter how fast your server is...)
For that kind of testing, it really helps to be able to isolate the specific 
path of code that is causing the throttling to occur
(so minimalistic test designs work better).

--
Robin D. Wilson
Sr. Director of Web Development
KingsIsle Entertainment, Inc.
VOICE: 512-777-1861
www.KingsIsle.com

-Original Message-
From: Perf Test [mailto:perfs...@gmail.com] 
Sent: Wednesday, March 13, 2013 1:24 AM
To: user@jmeter.apache.org
Subject: Analyzing pefr test results and preparing a report

Dear experts,

This is with regard to analyzing performance test results, I have tested
performance of an application and obtained following results from jmeter,

For 100 users load;

Login page request 10 sec ,

Login to app 15 sec

Creator customer 20 sec

 I have to prepare a report for the same, I'm not sure about what are the
exact or near reasons which are pertaining to my test results (i.e. why app
responses such slow) which I could mentioned under 'conclusion'. part in
the report.

After discussing I have set the benchmarking for the above areas before
starting the test

I have checked the throughput as well, it is below 1 transaction per second
in most cases, Application in test environment and I have analyzed CPU
usage, memory, Netwotk I/O etc.

I need to suggest our client mentioning areas need to improve in
application, what are the areas in app I should mention i need to mention
in order to get better performance (which is 3 to 4 sec).

Network, the amount of memory, CPU usage seems Ok.what about app?

Thanks,

Sam