anorakgirl,

as the business has been growing, we
recently upgraded to a new funky dell server, multiprocessor with
hyperthreading, but this seems to have exacerbated the problem
dramatically:
we now have a situation where if a single user requests a page, it is
lightening fast, but once there are two requests at the same time, both
are about 100 times slower; i would expect twice slower at most. once
returning to only one request at a time, the speed recovers immediately.
in top you can see that java has 100% of the CPU time, and one of the 4
effective CPU's is maxed out.

however, this is not the case, still they are both about 100
times slower. this makes me think that it cannot be an error in our code?

Despite the slowness, are there any actual errors? Like, do you get weird NPEs or OutOfMemoryErrors or anything like that? If not, then it is likely a synchronization issue.


If you are using an XSLT processor, is it shared and synchronized? If you don't share one processor, do you pool them instead?

I worked on a project that used XSLT to transform large XML documents into even larger HTML documents. We found that one of the ways we could speed up the transformations was by pooling pre-initialized XSLT transformer objects.

Then, your only synchronization bottleneck is when you request a transformer object, instead of waiting for an entire transform to occur. Of course, if you drain the pool, your new request will have to wait...

-chris


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to