Re: [Resin-interest] Slooow file reads (really weird!)
I was naive enough to think that this issue would have been fixed in ZoneAlarm by now, so I tried to upgrade again. Similar problems... BUT this time I notice something even stranger! Only one of my webapps is affected. Serving a static .html from one webapp (or resin-doc / resin-admin pages) takes milliseconds as usual, while serving a static .html from my main webapp takes several seconds or more. So back to square one - maybe Resin is at least partially guilty. Any further tips on how to find out what is going on here??? /Mattias Mattias Jiderhamn wrote (2007-10-08 12:39): > I believe I have found the offender in this issue: ZoneAlarm. > I had already tried to turn it off, but since I have seen some strange > behaviour with ZoneAlarm before I now tried uninstalling it altogether. > That seem to have solved the issue. > > I'm sorry for wasting your time, especially now that I remember I > probably upgraded ZoneAlarm (free version to 7.0.408) around the time > the problems started. *blush* > Thanks for all the tips and suggestions - the supportive community is > part of what makes Resin great. > Hopefully the archive copy of this thread can be of help to somebody else. > > /Mattias > > > I wrote: > >> By the way, the CPU usage is peaking all the way through. Around 49% on >> my dual core system. >> (And there is even more memory on the computer with the problem than the >> other one) >> >> >> >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] Behalf Of Mattias Jiderhamn >>> Sent: Friday 05 October 2007 11:20 >>> To: Resin >>> Subject: [Resin-interest] Slooow file reads (really weird!) >>> >>> >>> Hi list. >>> I have my J2EE webapp on an external hard drive, which I carry between >>> my office and my home computer. >>> On each computer - running Windows XP and Java 1.5 - I have a Resin >>> (3.0.22) installation and a shortcut to start Resin with the server root >>> on the external drive. >>> This has worked flawlessly for over a year. >>> >>> 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 >>> normal). >>> 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. >>> >>> Any tips would be much welcome! >>> >>> /Mattias >>> > > > ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
On Oct 7, 2007, at 1:11 PM, Mattias Jiderhamn wrote: A truss (or strace or equivalent) would give the exact files that are getting tested. I uploaded a FileMon dump here: http://www.jiderhamn.se/ filemonSimplePageLoad.txt I also tried to get a dump with Strace, and that's when it's getting really strange! When I attach Strace (IntellectualHeaven's GUI version) to java.exe, the problem (almost) dissapears!? The page now loads in a fraction of a second, about 9 times out of 10. (Dependency checks still seem to happen now and then). When I stop tracing, every single request takes a couple of seconds again. Could this give any hint? I'm not familiar with Strace, but anything which alters the execution speed of the code, e.g. a debugger, and the end result is that the problem disappears is often indicative of a threading problem. In my experience, it's not unusual for thread issues to consistently appear on one machine, but not happen on another machine running identical code. Having said that, and based on what you've said so far, this does seem unlikely. A few other shots in the dark that you probably already checked: 1. Any chance resin is re-compiling stuff for some reason? Is javac.exe running? 2. Is disk space low? How is your page file configured on one machine vs. the other? Any memory or disk thrashing going on due to excessive paging? I think you said that the machine having problems has more RAM than the one that's not. But have you checked Task Manager to confirm that the memory is actually there? I've seen cases where memory chips have gone bad, but the server continues to run, just with less memory (probably not on a regular desktop or laptop, but I've seen it with blade servers). 3. Any hints in the jvm.log file? 4. What params are you using to start resin? 5. Excessive garbage collection cycles? Are you running resin with gc logging enabled? -Xloggc:log/gc.log (or wherever you keep your resin logs). 6. Any permissions problems? Maybe resin/java is spinning its wheels trying to read or write some file that it can't access? Rob ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
t; >>> By the way, the CPU usage is peaking all the way through. Around >>> 49% on >>> my dual core system. >>> (And there is even more memory on the computer with the problem >>> than the >>> other one) >>> >>> >>> >>>> -Original Message- >>>> From: [EMAIL PROTECTED] >>>> [mailto:[EMAIL PROTECTED] Behalf Of Mattias >>>> Jiderhamn >>>> Sent: Friday 05 October 2007 11:20 >>>> To: Resin >>>> Subject: [Resin-interest] Slooow file reads (really weird!) >>>> >>>> >>>> Hi list. >>>> I have my J2EE webapp on an external hard drive, which I carry >>>> between >>>> my office and my home computer. >>>> On each computer - running Windows XP and Java 1.5 - I have a Resin >>>> (3.0.22) installation and a shortcut to start Resin with the >>>> server root >>>> on the external drive. >>>> This has worked flawlessly for over a year. >>>> >>>> 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 >>>> normal). >>>> 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. >>>> >>>> Any tips would be much welcome! >>>> >>>> /Mattias ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
Yea, This is a good way. Unfortunately, I believe resin-admin uses Quercus. I have disabled Quercus because I have php apps running that are not running properly under it. When I enable php processing, Resin takes control over ALL files with the php extension, which shouldn't be the case (btw, I do run an Apache frontend). mod_caucho is taking over all control of all files with the php extension. I guess I should consider this a bug since mod_caucho should only pass php processing to Resin only for the specific web- app paths and not all PHP files. This way, I can have Resin Quercus coexisting peacefully with PHP itself. -Chris On Oct 6, 2007, at 12:35 PM, Scott Ferguson wrote: > > On Oct 6, 2007, at 12:03 PM, Chris Chen wrote: > >> >> Rather than doing all the profiling like you (which I would have >> liked to but i was too lazy), I just did a thread dump. > > By the way, the Resin admin now has a quick-and-dirty profiler (and > thread dumper and heap dumper) which is really handy when you're too > lazy to configure a full profiler, or on a live system when you want > some data immediately. > > -- Scott > > > > > ___ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
On Oct 6, 2007, at 12:03 PM, Chris Chen wrote: > > Rather than doing all the profiling like you (which I would have > liked to but i was too lazy), I just did a thread dump. By the way, the Resin admin now has a quick-and-dirty profiler (and thread dumper and heap dumper) which is really handy when you're too lazy to configure a full profiler, or on a live system when you want some data immediately. -- Scott ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
not run any VPN software other than the built in PPTP >> client, and >> have not changed the MTU of the NICs. (MTU isn't fetched via DHCP >> is it?) >> I thought maybe there was a problem fetching external DTDs when >> reading >> Hibernate mappings or whatever (lots of profiling time spent >> parsing doc >> types and my ISP has had some issues lately). However, inactivating >> the >> NIC altogether makes no difference. >> >> >>> By the way, the CPU usage is peaking all the way through. Around >>> 49% on >>> my dual core system. >>> (And there is even more memory on the computer with the problem >>> than the >>> other one) >>> >>> >>>> -Original Message- >>>> From: [EMAIL PROTECTED] >>>> [mailto:[EMAIL PROTECTED] Behalf Of Mattias >>>> Jiderhamn >>>> Sent: Friday 05 October 2007 11:20 >>>> To: Resin >>>> Subject: [Resin-interest] Slooow file reads (really weird!) >>>> >>>> >>>> Hi list. >>>> I have my J2EE webapp on an external hard drive, which I carry >>>> between >>>> my office and my home computer. >>>> On each computer - running Windows XP and Java 1.5 - I have a Resin >>>> (3.0.22) installation and a shortcut to start Resin with the >>>> server root >>>> on the external drive. >>>> This has worked flawlessly for over a year. >>>> >>>> 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 >>>> normal). >>>> 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. >>>> >>>> Any tips would be much welcome! >>>> >>>> /Mattias >> >> >> >> ___ >> resin-interest mailing list >> resin-interest@caucho.com >> http://maillist.caucho.com/mailman/listinfo/resin-interest > > > > ___ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
On Oct 6, 2007, at 4:03 AM, Mattias Jiderhamn wrote: > >> Also, what is the stack trace for the slow read() call? > With JNI, 57% of the time for loading a single page (total 78 s) is > spent in > com.caucho.vfs.JniStream.read cased by (only!!!) 22 calls from > com.caucho.vfs.ReadStream.readBuffer > com.caucho.vfs.ReadStream.waitForRead > com.caucho.server.port.TcpConnection.run That's the keepalive waiting for the next browser request. It's normal. > ... > > > Without JNI 43% of the time (total 33 s) is spent in > java.io.File.lastModified caused by 28000 calls (depency checking over > and over) from > com.caucho.vfs.FilePath.getLastModified > com.caucho.vfs.Depend.isModified > ... > and 41% of the time is spent in > java.io.File.length called 28000 times from > com.caucho.vfs.FilePath.getLength > com.caucho.vfs.Depend.isModified > ... Can you give more of the stack trace? It's conceivable that there's a huge number of dependency files for some reason (or somehow Resin's checking the same files repeatedly.) A truss (or strace or equivalent) would give the exact files that are getting tested. -- Scott ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
MTU >> setting, in this case, was in the VPN software. > I have not run any VPN software other than the built in PPTP > client, and > have not changed the MTU of the NICs. (MTU isn't fetched via DHCP > is it?) > I thought maybe there was a problem fetching external DTDs when > reading > Hibernate mappings or whatever (lots of profiling time spent > parsing doc > types and my ISP has had some issues lately). However, inactivating > the > NIC altogether makes no difference. > > >> By the way, the CPU usage is peaking all the way through. Around >> 49% on >> my dual core system. >> (And there is even more memory on the computer with the problem >> than the >> other one) >> >> >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] Behalf Of Mattias >>> Jiderhamn >>> Sent: Friday 05 October 2007 11:20 >>> To: Resin >>> Subject: [Resin-interest] Slooow file reads (really weird!) >>> >>> >>> Hi list. >>> I have my J2EE webapp on an external hard drive, which I carry >>> between >>> my office and my home computer. >>> On each computer - running Windows XP and Java 1.5 - I have a Resin >>> (3.0.22) installation and a shortcut to start Resin with the >>> server root >>> on the external drive. >>> This has worked flawlessly for over a year. >>> >>> 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 >>> normal). >>> 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. >>> >>> Any tips would be much welcome! >>> >>> /Mattias > > > > ___ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
have not changed the MTU of the NICs. (MTU isn't fetched via DHCP > is it?) > I thought maybe there was a problem fetching external DTDs when > reading > Hibernate mappings or whatever (lots of profiling time spent > parsing doc > types and my ISP has had some issues lately). However, inactivating > the > NIC altogether makes no difference. > > >> By the way, the CPU usage is peaking all the way through. Around >> 49% on >> my dual core system. >> (And there is even more memory on the computer with the problem >> than the >> other one) >> >> >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] Behalf Of Mattias >>> Jiderhamn >>> Sent: Friday 05 October 2007 11:20 >>> To: Resin >>> Subject: [Resin-interest] Slooow file reads (really weird!) >>> >>> >>> Hi list. >>> I have my J2EE webapp on an external hard drive, which I carry >>> between >>> my office and my home computer. >>> On each computer - running Windows XP and Java 1.5 - I have a Resin >>> (3.0.22) installation and a shortcut to start Resin with the >>> server root >>> on the external drive. >>> This has worked flawlessly for over a year. >>> >>> 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 >>> normal). >>> 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. >>> >>> Any tips would be much welcome! >>> >>> /Mattias > > > > ___ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
Thanks for all the suggestions. Serge wrote: > 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. I have watched file access using FileMon on Windows. Unfortunately, I don't get enough information to see if I have the same problem you had. But since the inital start of the application is also slow, I lean towards there is a generic problem with class loading and/or dependency checking. There seem to occur several depenency checks during a single request, which is why a simple page can take 40 seconds. If I increase the dependency check intervall, so that there is only one check during the request monitored by FileMon, it will finish much faster. Scott wrote: > Do you see a difference if you remove the resin.dll? (Which would > disable the JNI.) > Not much. > Also, what is the stack trace for the slow read() call? With JNI, 57% of the time for loading a single page (total 78 s) is spent in com.caucho.vfs.JniStream.read cased by (only!!!) 22 calls from com.caucho.vfs.ReadStream.readBuffer com.caucho.vfs.ReadStream.waitForRead com.caucho.server.port.TcpConnection.run ... Without JNI 43% of the time (total 33 s) is spent in java.io.File.lastModified caused by 28000 calls (depency checking over and over) from com.caucho.vfs.FilePath.getLastModified com.caucho.vfs.Depend.isModified ... and 41% of the time is spent in java.io.File.length called 28000 times from com.caucho.vfs.FilePath.getLength com.caucho.vfs.Depend.isModified ... I created a simple test page, calling File.length and File.lastModified 100'000 times and measured the time. I then ran the page in another webapp, that does not seem to be affected (on the same computer though). The results were the same (about 0.2 ms / operation - not sure if this is normal though; I'll have to compare to the office computer next week). Anyway, this could indicate the problem is not with the I/O calls themselves, but the number of I/O calls... (Which makes Serges tip more interesting.) Again, I will have to profile at the other computer next week and compare. Tom Hintz wrote: > I’ve seen small TCP/IP MTU sizes cause similar behavior. We had VPN > software that set the MTU to less than the IP default, which I think > should have been 1500(?). Result was packet fragmentation that caused > huge delays in the Microsoft TCP implementation. I think the MTU > setting, in this case, was in the VPN software. I have not run any VPN software other than the built in PPTP client, and have not changed the MTU of the NICs. (MTU isn't fetched via DHCP is it?) I thought maybe there was a problem fetching external DTDs when reading Hibernate mappings or whatever (lots of profiling time spent parsing doc types and my ISP has had some issues lately). However, inactivating the NIC altogether makes no difference. > By the way, the CPU usage is peaking all the way through. Around 49% on > my dual core system. > (And there is even more memory on the computer with the problem than the > other one) > > >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] Behalf Of Mattias Jiderhamn >> Sent: Friday 05 October 2007 11:20 >> To: Resin >> Subject: [Resin-interest] Slooow file reads (really weird!) >> >> >> Hi list. >> I have my J2EE webapp on an external hard drive, which I carry between >> my office and my home computer. >> On each computer - running Windows XP and Java 1.5 - I have a Resin >> (3.0.22) installation and a shortcut to start Resin with the server root >> on the external drive. >> This has worked flawlessly for over a year. >> >> 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
Re: [Resin-interest] Slooow file reads (really weird!)
I've seen small TCP/IP MTU sizes cause similar behavior. We had VPN software that set the MTU to less than the IP default, which I think should have been 1500(?). Result was packet fragmentation that caused huge delays in the Microsoft TCP implementation. I think the MTU setting, in this case, was in the VPN software. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
On Oct 5, 2007, at 4:31 AM, Mattias Jiderhamn wrote: > By the way, the CPU usage is peaking all the way through. Around > 49% on > my dual core system. > (And there is even more memory on the computer with the problem > than the > other one) Do you see a difference if you remove the resin.dll? (Which would disable the JNI.) Also, what is the stack trace for the slow read() call? -- Scott > >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] Behalf Of Mattias >> Jiderhamn >> Sent: Friday 05 October 2007 11:20 >> To: Resin >> Subject: [Resin-interest] Slooow file reads (really weird!) >> >> >> Hi list. >> I have my J2EE webapp on an external hard drive, which I carry >> between >> my office and my home computer. >> On each computer - running Windows XP and Java 1.5 - I have a Resin >> (3.0.22) installation and a shortcut to start Resin with the >> server root >> on the external drive. >> This has worked flawlessly for over a year. >> >> 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 >> normal). >> 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. >> >> Any tips would be much welcome! >> >> /Mattias > > > > ___ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
> > Serge Kystautas wrote: >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. > Actually, truss comes with "Interix". On Vista (certain editions only, like Ultimate, have this), use Program Manager, "Turn Windows features on or off", and enable "Subsystem for UNIX-based Applications" for Interix 6.2. On pre-Vista Windows, go here for the free download of Interix 3.5: http://www.microsoft.com/windows/sfu It also has sendmail. I've been meaning to work up some how-to's but haven't figured out a couple of the finer points yet, Interix has gcc 3.3 and NetBSD's pkgsrc system has been ported to it, so you can build lots of gnu tools that don't come with Interix. If you have Server 2003 you need to do some more digging for the proper download. -Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
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 > normal). > 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. -- Serge Knystautas Lokitech >> software . strategy . design >> http://www.lokitech.com p. 301.656.5501 e. [EMAIL PROTECTED] ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
By the way, the CPU usage is peaking all the way through. Around 49% on my dual core system. (And there is even more memory on the computer with the problem than the other one) > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Mattias Jiderhamn > Sent: Friday 05 October 2007 11:20 > To: Resin > Subject: [Resin-interest] Slooow file reads (really weird!) > > > Hi list. > I have my J2EE webapp on an external hard drive, which I carry between > my office and my home computer. > On each computer - running Windows XP and Java 1.5 - I have a Resin > (3.0.22) installation and a shortcut to start Resin with the server root > on the external drive. > This has worked flawlessly for over a year. > > 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 > normal). > 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. > > Any tips would be much welcome! > > /Mattias ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
I have tried turning other applications and services, including firewall and anti-virus, off. Disk operations outside Resin (such as zipping the project or defragmenting the disc) does not seem affected. Thanks for the guess though. /Mattias Andre van Dalen wrote: > Wild guess; maybe your viruschecker decided to check those reads where > previously it did not > (possibly also unpacking .jars on the fly in-memory as it sees them as zip > archives) ? > > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Mattias Jiderhamn > Sent: Friday 05 October 2007 11:20 > To: Resin > Subject: [Resin-interest] Slooow file reads (really weird!) > > > Hi list. > I have my J2EE webapp on an external hard drive, which I carry between > my office and my home computer. > On each computer - running Windows XP and Java 1.5 - I have a Resin > (3.0.22) installation and a shortcut to start Resin with the server root > on the external drive. > This has worked flawlessly for over a year. > > 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 > normal). > 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. > > Any tips would be much welcome! > > /Mattias > ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Slooow file reads (really weird!)
Wild guess; maybe your viruschecker decided to check those reads where previously it did not (possibly also unpacking .jars on the fly in-memory as it sees them as zip archives) ? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Mattias Jiderhamn Sent: Friday 05 October 2007 11:20 To: Resin Subject: [Resin-interest] Slooow file reads (really weird!) Hi list. I have my J2EE webapp on an external hard drive, which I carry between my office and my home computer. On each computer - running Windows XP and Java 1.5 - I have a Resin (3.0.22) installation and a shortcut to start Resin with the server root on the external drive. This has worked flawlessly for over a year. 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 normal). 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. Any tips would be much welcome! /Mattias ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Slooow file reads (really weird!)
Hi list. I have my J2EE webapp on an external hard drive, which I carry between my office and my home computer. On each computer - running Windows XP and Java 1.5 - I have a Resin (3.0.22) installation and a shortcut to start Resin with the server root on the external drive. This has worked flawlessly for over a year. 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 normal). 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. Any tips would be much welcome! /Mattias ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest