On Apr 3, 2:56 am, sai <saidesertrose2...@gmail.com> wrote:
> Even if you use http clients to generate requests and load test the
> app it is advisable to use real browsers to do some kind of load
> testing because thats how the app is going to be used in the end
> through real internet in the middle.

Yes, that's how it will be 'used' but how can the server tell?   The
point of a loadtest is to see how your servers hold up under load,
that load takes the form of http requests..  How exactly is the server
supposed to be able to tell the difference between requests generated
by a browerser, or a protocol evel tool that emulated the requests
sent by the browser?   I fail to see what value you are adding for the
expense of having to maintain scripts for two different platforms
(protocol level vs browser level).   If you REALLY want to experience
the 'user experience' while the test is running, just interact
manually with a browser.

> The approach I take is when we are developing a functionality in an
> iteration I tend to use something like http clients to find
> bottlenecks and correct them. This gives me a fast feedback on parts I
> need to concentrate on. But once the app is in good shape where I can
> use it I tend to prefer using real browsers to test it along with http
> clients. The advantage of real browser approach is it is how the app
> will be used as well it takes away lots of complexities like ajax
> processing, streaming away from you.

Again I fail to see the advantage.. emulating ajax processing doesn't
matter, all that matters is what kind of post or get resuts when that
processing is done and the user responds  to it.  If there's a delay
due to the ajax or the user 'reading' or filling in a form or
whatever, that's what "Think Time" is for.   Steaming can be trickier
I'll admit, but there are some things out there for testing flash and
such that will let you start up a large number of streams and maintain
them for however long you want.   But ultimately we get back to the
question of 'how can the server tell the difference'    because if it
can, then you have an issue with your loadtest tool, and if it can't
why bother with the browser?

>The disadvantage is it is not
> possible to run more than three browsers at a time as they are
> resource heavy.

There's also the expense of maintaining two sets of scripts/tests.

>And so clouds may help to scale in this issue.

IF you have a suitable connection to the intenet that you can afford
to load up with cloud traffic perhaps..

If you are running a production site you dare not clog it's pipe with
loadtest traffic.   So that means you need two more pipes one for the
cloud load to arrive on, and one for a 'back channel' that you use to
control the cloud, and receive instrumentation regarding response
times, lost packets or failed responses, and perhaps telemetry as to
what the scripts are doing at a particuar moment.. which you wil then
need to correlate with the instrumentation of the servers as far as
how they are responding, and what's happening with all the critical
resources on the servers like disk queues, memory, cpu and a horde of
other performance counters.

> Take a look at BrowserMob blog for more info on this.
> On Apr 3, 2:28 pm, JArkelen <johnvanarke...@gmail.com> wrote:
> > I created my own tool which generates "dumb" HTTP requests to the
> > server, combined with one watir user at the same time doing the actual
> > measuring of response times. Because I also use the HTTPwatch API, I
> > can report on both HTTP response times and real-user response times.
> > Best of both worlds!
> > Cheers,
> > John
> > On Apr 3, 4:33 am, Chuck van der Linden <sqa...@gmail.com> wrote:
> > > On Apr 2, 2:01 pm, Paul Rogers <paul.rog...@shaw.ca> wrote:
> > > > most load tools do direct http posts/gets/put requests. jmeter does this
> > > > using a java library, to get the high levels of virtual users.
> > > > Browsermob uses amazon cloud running ms windows 2003 server and a real
> > > > browser.
> > > Paul is absolutely right in this regard.  This is because the overhead
> > > of rendering and running client side code means if you use anything
> > > remotely resembling a 'real browser' it won't scale well, and you will
> > > need a small fleet of systems to generate the load.
> > > It's also un-necessary.  some vendors who don't support protocol level
> > > load will try to justify their tool as being 'more realistic' which I
> > > say is utter one-hundred percent hogwash.  The server has NO idea who
> > > is sending those packets, and it can't tell IE or Firefox from a good
> > > tool claiming to be IE or Firefox.. the 'realism' is all in the mind
> > > of the salesman because the web server hasn't a clue.
> > > > Ive think the best way of doing load tests is to use jmeter or other 
> > > > tool.
> > > > You may be able to record a script via the jmeter proxy when watir is
> > > > running. I can see a lot of advantages to this, but it takes a lot of 
> > > > hand
> > > > editing to go and make the recorded jmeter script usable for more than 
> > > > one
> > > > user.
> > > > Ive found load testing to be a particulary difficult thing todo. Mostly
> > > > because of the question "what are we trying to do here?" - find out 
> > > > what bit
> > > > breaks first? Find out how many users we can support before we need a 
> > > > new
> > > > bit of hardware? Find out what the slowest operastion is? Find out how 
> > > > to
> > > > make the slowest operation better? There is a book that Scott Barber 
> > > > was a
> > > > coauthor of, that is available as a free pdf that is good reading.
> > > I agree 100% Paul.  load testing and perf testing is some of the more
> > > 'scientific' testing you can do, it requires close attention to
> > > detail, tight control over variables, tests that are highly
> > > reproducable, and as you point out you have to start out by asking the
> > > right question.  A loadtest is basically an experiment, and like any
> > > experiment it's only going to be as successful as the hypothesis it's
> > > trying to prove or disprove.  If you don't know the question you are
> > > trying to ask, you're not likely to design loadtest that will give you
> > > results you can use.
> > > As for myself, I've used both loadrunner (really good but really
> > > expensive) and Microsoft's Visual Studio Team System2008 (both the
> > > "test edition" and "team suite" versions have a HTTP level web-test
> > > and loadtest capability)  I found in my work that it scales well and
> > > blows loadrunner away in terms of bang for the buck.  I've used it
> > > with just a single machine as the load generator (also running the
> > > controller as wel) and brought both webservers and db servers to their
> > > virtual knees and had they crying uncle!  There's also an excellent
> > > MSDN forum with some of the main pm's etc providing advice and
> > > support, and a small collection of videos and such.
> > > The downside is that it does all the SUT monitoring via WMI
> > > (Microsoft's implementation of WBEM) which works fabulous on windows
> > > servers, but because the *nix community never implemented WBEM (a
> > > multi vendor DMTF standard) there's no performance monitoring daemon
> > > that allows you to connect to the machine using WBEM, and hence you
> > > can't monitor the performance of non windows servers, and without good
> > > (really good) data on how the systems are being affected by the load,
> > > corrilated with what the scripts are doing, the loadtests are of much
> > > less value.
> > > Sorry but this is a bit of a soapbox for me. it's really ironic in a
> > > way that the "closed' windows OS, because MS implemented an open
> > > standard is more accessable in terms of remote monitoring and
> > > rathering of system information (out of the box without having to
> > > installl anything, and merely configuring some accounts that are
> > > allowed to access the data) than the supposedly 'open' os's which
> > > never adopted that standdard and are thus a relative black hole in
> > > terms of being able to remotely monitor performance counters
> > > --Chuck- Hide quoted text -
> - Show quoted text -
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to