On Tue, 2003-05-06 at 04:45, vikram CHANDNA wrote:
> Brad,
> Frankly this is the scene. I am in performannce
> testing of J2EE apps and also take active interest in
> bottleneck resolution. In past project I came across a
> case where a person wrote a perl utility that measured
> the break-up of response time amongst various layers
> of the application (i.e. app server, database). Also I
> had heard good word about Ethereal from other people.
> So I just pumped up the boss to use Ethereal. The
> intention was also to learn something along the way.
> However four days of R&D has gone and still don't have
> anything substantial to tell my boss how we can
> effectively use Ethereal. Thus I came asking for help.
> regards,
Here's a simple way to get started:
Put together a test environment with the different layers on
different physical machines. E.g., your web browser on one, your
app server on another, your database on a third.
Connect them all together via a simple hub. Make sure it's not a
switch, or if it is, turn off the packet switching
functionality.
Put ethereal on a fourth machine. Plug it into the hub.
Now browse the app until you get to something you want to
profile. Start Ethereal and tell it to capture all traffic. Then
do the thing you want to profile. For starters, limit it to one
page view. Then press stop on Ethereal.
Now you'll have a bunch of packets. By looking at the relative
timestamps, you'll be able to get some idea of the relative
performance of the layers.
I certainly use Ethereal in my performance tuning work, and it's a very
handy tool for that. But it's only one of many, sort of like one lab
test at the hospital. It also takes a fair bit of time to learn to use
well; I've been using packet sniffers to debug apps for circa a decade,
and I still have plenty to learn. So have patience!
Oh, and if your boss is in a hurry, I'm glad to send him my rate card.
:-)
William
--
brains for sale: http://scissor.com/