Mattias Jiderhamn wrote:
> Now suddenly (ok, after returning from vacation), the application is
> immensely slow - on one of the computers!
> Starting Resin and the application now takes anywhere from 3 to 5
> minutes on my home computer, compared to the usual 30 or so seconds.
> Loading a simple page can take 40 seconds. It seems that most of the
> time is spent inside the disk access of the dependency checking.
> (Turning dependency checking off was much faster, but still slower than
> I tried to copy the project to the internal drive to see if there was
> some interface hardware issue - no difference.
> I profiled the application with JProfiler, and it thinks there is a
> hotspot in com.caucho.vsf.JniStream.read(). Why...?
> I am running out of ideas on what could be wrong and how to track it down.
I've seen something like this, and we were able to diagnose it on a Unix
environment by using a program called truss
(http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+truss) which allows you to
watch every file that is getting read. I don't know of a Windows
equivalent. Most Java profilers I know of do not help you find IO
related issues very well, so you might want to look for a lower level OS
tool to see what's changing.
What we found was that the application was looking for a class that did
not exist. Java does not hold a cache entry for "class not found", so
it kept opening every jar in the entire classpath to find said class,
numerous times for a single http request because of where this library
was used. You might want to check all the resin/lib and WEB-INF/lib and
whatever other classes to see if a non-critical class is missing but
being searched for over and over.
Hope this helps.
Lokitech >> software . strategy . design >> http://www.lokitech.com
e. [EMAIL PROTECTED]
resin-interest mailing list