Well there aren't any file access errors but it looks like for every request it is racing through all of the directories and compiling whatever it finds. Is there a setting that tells tomcat to recompile on every request?
Charles -----Original Message----- From: Allistair Crossley [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 08, 2005 9:36 AM To: Tomcat Users List Subject: RE: JTDS help Hey Charles, I'm sure it's quite frustrating, but I've already shown that your precise code runs way faster than your original statistics, and that was only on a modest box. It serves no purpose therefore to believe it could be the language of choice, because I cannot replicate your speed issue. See what your monitoring brings back. What kind of setup are you running? Allistair. > -----Original Message----- > From: Charles P. Killmer [mailto:[EMAIL PROTECTED] > Sent: 08 February 2005 15:33 > To: Tomcat Users List > Subject: RE: JTDS help > > > I don't mean to be contrary, I am just trying to pin this down. The > database and tomcat server are only separated by a 10/100 switch. I > am going to run filemon and watch for access denied messages, then > regmon and watch for similar things. The network is very fast, the db > server is not being used by anyone else. It seems to me that if it > were environmental, it would affect these other programming languages > the same. I checked and the jtds.jar file is in tomcat\common\lib. > > Any other thoughts while you wait for the results from filemon and > regmon? > > Thank you > Charles > > -----Original Message----- > From: Allistair Crossley [mailto:[EMAIL PROTECTED] > Sent: Tuesday, February 08, 2005 8:44 AM > To: Tomcat Users List > Subject: RE: JTDS help > > Hi, > > No it was a totally raw test of your code which by virtue of using > DriverManager does not use connection pooling even if I do have it > enabled in my web app. > > jTDS installation is simply adding the JAR to tomcat/common/lib > > Are you running Tomcat on the same server as the database? > > Config file won't have anything to do with this. I am certain it is > environmental. > > Ali. > > > -----Original Message----- > > From: Charles P. Killmer [mailto:[EMAIL PROTECTED] > > Sent: 08 February 2005 14:41 > > To: Tomcat Users List > > Subject: RE: JTDS help > > > > > > Well I must have missed something because it isn't working > correctly. > > ;) Were you using connection pooling in your test? Perhaps I have > > something messed up in a config file? Or installed jTDS > incorrectly? > > > > Thanks for all your help. > > Charles > > > > -----Original Message----- > > From: Allistair Crossley [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, February 08, 2005 3:17 AM > > To: Tomcat Users List > > Subject: RE: JTDS help > > > > Hi Charles, > > > > I've just taken your code and run it through our Tomcat > 5.5, jTDS, SQL > > > Server 2000 web application and it took approx. 0.5s to compile and > > subsequent requests were instantaneous < 0.5s. > > > > I would look again at the issues I first noted, perhaps there is > > something you have missed. > > > > Cheers, Allistair. > > > > > -----Original Message----- > > > From: Charles P. Killmer [mailto:[EMAIL PROTECTED] > > > Sent: 07 February 2005 22:42 > > > To: Tomcat Users List > > > Subject: RE: JTDS help > > > > > > > > > When I strip the code to simply this, > > > > > > <%@ page language="java" import="java.sql.*"%> <% > Connection conn = > > > DriverManager.getConnection("jdbc:jtds:sqlserver://*.*.*.*:143 > > > 3/dbname;u > > > ser=*****;password=******"); > > > conn.close(); > > > %> > > > > > > It still runs slowly. And yes it is multiple refreshes. > > > > > > I have tried to use connection pooling but have not been > > able to get > > > it working yet. Also the thing that I run into with connection > > > pooling the inability to use the SQL Statement of "select > > @@IDENTITY > > > from table". > > > With connection pooling, you run the risk of getting the ID for a > > > record that someone else inserted with the same connection. > > > > > > If connection pooling is the only option, I can work around that > > > issue. > > > But it seems that if PHP, ASP, ASP.NET... Can access the > > database just > > > > > fine without connection pooling, JSP should be able to as well. > > > > > > Any thoughts? > > > Thanks for all your input. > > > Charles > > > > > > -----Original Message----- > > > From: Mario Winterer [mailto:[EMAIL PROTECTED] > > > Sent: Monday, February 07, 2005 2:43 PM > > > To: Tomcat Users List > > > Subject: Re: JTDS help > > > > > > I do not think, jsp compilation is the problem - well, the first > > > request will last long, but after the jsp is compiled, subsequent > > > calls will not be remarkable slower than executing pure compiled > > > servlet code. > > > (Charles, I hope you did not measure the time for the > first request > > > only > > > - which indeed includes compilation time, but for > subsequent calls > > > too). > > > So to me opening the connection is the major problem. > > Because the code > > > > > itself contains html-output, I think using jsp is quite ok. > > > The code would be much cleaner, if Charles used the JSTL > > tag-library: > > > > > > <%@ page language="java"%> > > > <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ > > > > > > taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %> > > <sql:query > > > sql="SELECT * FROM accounts" var="accounts" > > > dataSource="jndi/myDataSource"/> > > > <table> > > > <c:forEach var="acc" items="${accounts}"> <tr> <td><c:out > > > value="${acc.ID}"/></td> <td><c:out > > value="${acc.Name}"/></td> </tr> > > > </c:forEach> </table> > > > > > > Best regards, > > > Tex > > > > > > David Smith wrote: > > > > > > > Ok. You're doing this in a jsp. That means Tomcat is: > > > > > > > > 1) Compiling your jsp to a servlet class. > > > > 2) Building a connection from scratch as opposed to > picking up a > > > > pooled connection > > > > 3) Running the query. > > > > > > > > Of these, the first one is the most expensive operation > > followed by > > > > two. If you want fast, try doing this with a pooled > > connection and > > > > from compiled servlet code. > > > > > > > > --David > > > > > > > > Charles P. Killmer wrote: > > > > > > > >> Network results > > > >> Ping statistics for *.*.*.*: > > > >> Packets: Sent = 140, Received = 140, Lost = 0 (0% loss), > > > Approximate > > > >> round trip times in milli-seconds: > > > >> Minimum = 0ms, Maximum = 0ms, Average = 0ms Query Analyzer > > > returns 85 > > > > > > >> rows in 0 seconds. I modified it to only return Name and > > ID and it > > > >> still runs slow. So it cant be row size, network > > latency, hardware > > > >> should be ruled out by the fact that it runs super fast > > > through query > > > > > > >> analyzer, and PHP and ASP.NET. Its only when I write the > > > code in JSP > > > >> for Tomcat that it slows down. > > > >> > > > >> Charles > > > >> > > > >> > > > >> -----Original Message----- > > > >> From: Allistair Crossley > > [mailto:[EMAIL PROTECTED] Sent: > > > >> Monday, February 07, 2005 11:37 AM > > > >> To: Tomcat Users List > > > >> Subject: RE: JTDS help > > > >> > > > >> Hi, > > > >> > > > >> There's no real reason relating to Tomcat or jTDS that > > > this would run > > > > > > >> slow. You are more likely to find answers with your > > > hardware, network > > > > > > >> latency, database load or row size and other > > environmental factors. > > > >> > > > >> Allistair. > > > >> > > > >> > > > >> > > > >>> -----Original Message----- > > > >>> From: Charles P. Killmer > [mailto:[EMAIL PROTECTED] > > > >>> Sent: 07 February 2005 17:34 > > > >>> To: Tomcat Users List > > > >>> Subject: JTDS help > > > >>> > > > >>> > > > >>> I am trying to get Tomcat talking to my database quickly. > > > This code > > > >>> takes about 2-3 seconds to load. Anyone got any idea's > > why? Or if > > > >>> you run this in your environment, how well does it run? > > > >>> > > > >>> <%@ page language="java" import="java.sql.*"%> <% > > > Connection conn = > > > >>> DriverManager.getConnection("jdbc:jtds:sqlserver://*.*.*.*:143 > > > >>> 3/dbname;u > > > >>> ser=******;password=*******"); > > > >>> > > > >>> Statement stmt = > > conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, > > > >>> ResultSet.CONCUR_READ_ONLY); > > > >>> ResultSet rs; > > > >>> > > > >>> rs = stmt.executeQuery("SELECT * FROM accounts"); > > > >>> > > > >>> out.println("<table>"); > > > >>> String name; > > > >>> String ID; > > > >>> while (rs.next()) { > > > >>> name = rs.getString("Name"); > > > >>> ID = rs.getString("ID"); > > > >>> out.println("<tr><td>" + ID + > "</td><td>"+name+"</td></tr>" ); } > > > >>> > > > >>> out.println( "</table>" ); > > > >>> > > > >>> conn.close(); > > > >>> %> > > > >>> > > > >>> This is just a JSP script, nothing is compiled. I know it > > > is better > > > >>> to compile, but I am trying to chase down this DB > > slowness first. > > > >>> > > > >>> Charles Killmer > > > >>> Netgain Technology > > > >>> [EMAIL PROTECTED] > > > >>> Office: (320) 251-4700 ext 107 > > > >>> > > > >>> > > > >>> > > > >> > > > >> > > > >> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> > > > >> ------------------------------------------------------- > > > >> QAS Ltd. > > > >> Developers of QuickAddress Software <a > > > >> href="http://www.qas.com">www.qas.com</a> > > > >> Registered in England: No 2582055 Registered in > Australia: No 082 > > > > >> 851 474 > > > >> ------------------------------------------------------- > > > >> </FONT> > > > >> > > > >> > > > >> > > > > > > --------------------------------------------------------------------- > > > >> To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > > >> For additional commands, e-mail: > > > [EMAIL PROTECTED] > > > >> > > > >> > > > >> > > > > > > --------------------------------------------------------------------- > > > >> To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > > >> For additional commands, e-mail: > > > [EMAIL PROTECTED] > > > >> > > > >> > > > >> > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> ------------------------------------------------------- QAS Ltd. Developers of QuickAddress Software <a href="http://www.qas.com">www.qas.com</a> Registered in England: No 2582055 Registered in Australia: No 082 851 474 ------------------------------------------------------- </FONT> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
