RE: Tomcat 5.5.17 has max 40 KB / sec
Hi I know, reasking the same question if there was no answer, is no good style. However I had problems using apache-lists earlier and I don't know wether my mail made it to the list. So could anyone please respond, that the mail itself made it? (Solutions to my problem are welcome as well :D ) Sorry and regard, Steffen -Original Message- From: Steffen Heil [mailto:[EMAIL PROTECTED] Sent: Saturday, September 23, 2006 3:27 AM To: 'Tomcat Users List' Subject: Tomcat 5.5.17 has max 40 KB / sec Hi I use tomcat 5.5.17 and want to upload files. As this was *very* slow in some cases, I wrote a benchmark servlet. Code is below. I get the following statistics: 1. Running server on debian linux it accepts about 8.5 MB / sec. (Could slowed down by VM overhead.) 2. Running server on windows xp it accepts about 3.5 MB / sec when the client is connected over an rinetd redirection. 3. Running server on windows xp it accepts ONLY 40 KB / sec when the clinet is connected directly. This problem applies to Internet Explorer 6.0 as client only. It does not occur so with Firebird (but still only about 2.4 MB / sec). Using wireshark I found that the Internet Explorer is sending only 8 KB (exactly) followed by an tcp PSH, which is not answered by the windows xp machine running tomcat for 0.2 sec. That gives me exactly the 40 KB/sec. I would say, my xp tcp stack is damaged, but it works with the same server, when redirected through an external rinetd. What can I do ? Where can I start debugging ? Anyone having similar problems ? If possible, please also reply to me directly (CC). Regards, Steffen --8-- -- - package mypackage; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UpstreamBenchmark extends HttpServlet implements Runnable { private long start = -1; private int total; private Thread thread; private final byte[] buffer = new byte[ 4096 ]; public void run() { while ( !Thread.interrupted() ) { if ( start != -1 ) { long time = System.currentTimeMillis() - start + 1; double speed = ( total / 1.024 ) / time; System.out.println( speed: + speed + kb/sec ); } try { Thread.sleep( 500 ); } catch ( Throwable t ) { t.printStackTrace(); } } } @Override public void destroy() { thread.interrupt(); super.destroy(); } @Override public void init() throws ServletException { super.init(); thread = new Thread( this ); thread.start(); } @Override protected final void doPost( HttpServletRequest request, HttpServletResponse response ) { try { total = 0; start = System.currentTimeMillis(); InputStream is = request.getInputStream(); int read; while ( ( read = is.read( buffer ) ) != -1 ) total += read; is.close(); System.out.println( read + total + bytes. ); } catch ( Throwable t ) { t.printStackTrace(); } start = -1; } } smime.p7s Description: S/MIME cryptographic signature
Re: Tomcat 5.5.17 has max 40 KB / sec
Hi Steffen, I can see your post. Ben On 9/25/06, Steffen Heil [EMAIL PROTECTED] wrote: Hi I know, reasking the same question if there was no answer, is no good style. However I had problems using apache-lists earlier and I don't know wether my mail made it to the list. So could anyone please respond, that the mail itself made it? (Solutions to my problem are welcome as well :D ) Sorry and regard, Steffen -Original Message- From: Steffen Heil [mailto:[EMAIL PROTECTED] Sent: Saturday, September 23, 2006 3:27 AM To: 'Tomcat Users List' Subject: Tomcat 5.5.17 has max 40 KB / sec Hi I use tomcat 5.5.17 and want to upload files. As this was *very* slow in some cases, I wrote a benchmark servlet. Code is below. I get the following statistics: 1. Running server on debian linux it accepts about 8.5 MB / sec. (Could slowed down by VM overhead.) 2. Running server on windows xp it accepts about 3.5 MB / sec when the client is connected over an rinetd redirection. 3. Running server on windows xp it accepts ONLY 40 KB / sec when the clinet is connected directly. This problem applies to Internet Explorer 6.0 as client only. It does not occur so with Firebird (but still only about 2.4 MB / sec). Using wireshark I found that the Internet Explorer is sending only 8 KB (exactly) followed by an tcp PSH, which is not answered by the windows xp machine running tomcat for 0.2 sec. That gives me exactly the 40 KB/sec. I would say, my xp tcp stack is damaged, but it works with the same server, when redirected through an external rinetd. What can I do ? Where can I start debugging ? Anyone having similar problems ? If possible, please also reply to me directly (CC). Regards, Steffen --8-- -- - package mypackage; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UpstreamBenchmark extends HttpServlet implements Runnable { private long start = -1; private int total; private Thread thread; private final byte[] buffer = new byte[ 4096 ]; public void run() { while ( !Thread.interrupted() ) { if ( start != -1 ) { long time = System.currentTimeMillis() - start + 1; double speed = ( total / 1.024 ) / time; System.out.println( speed: + speed + kb/sec ); } try { Thread.sleep( 500 ); } catch ( Throwable t ) { t.printStackTrace(); } } } @Override public void destroy() { thread.interrupt(); super.destroy(); } @Override public void init() throws ServletException { super.init(); thread = new Thread( this ); thread.start(); } @Override protected final void doPost( HttpServletRequest request, HttpServletResponse response ) { try { total = 0; start = System.currentTimeMillis(); InputStream is = request.getInputStream(); int read; while ( ( read = is.read( buffer ) ) != -1 ) total += read; is.close(); System.out.println( read + total + bytes. ); } catch ( Throwable t ) { t.printStackTrace(); } start = -1; } } - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 5.5.17 has max 40 KB / sec
I got your message through the list, Steffen. I don't know how to help you, though. Sorry. Darren Hi I know, reasking the same question if there was no answer, is no good style. However I had problems using apache-lists earlier and I don't know wether my mail made it to the list. So could anyone please respond, that the mail itself made it? (Solutions to my problem are welcome as well :D ) Sorry and regard, Steffen - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5.5.17 has max 40 KB / sec
Hi I use tomcat 5.5.17 and want to upload files. As this was *very* slow in some cases, I wrote a benchmark servlet. Code is below. I get the following statistics: 1. Running server on debian linux it accepts about 8.5 MB / sec. (Could slowed down by VM overhead.) 2. Running server on windows xp it accepts about 3.5 MB / sec when the client is connected over an rinetd redirection. 3. Running server on windows xp it accepts ONLY 40 KB / sec when the clinet is connected directly. This problem applies to Internet Explorer 6.0 as client only. It does not occur so with Firebird (but still only about 2.4 MB / sec). Using wireshark I found that the Internet Explorer is sending only 8 KB (exactly) followed by an tcp PSH, which is not answered by the windows xp machine running tomcat for 0.2 sec. That gives me exactly the 40 KB/sec. I would say, my xp tcp stack is damaged, but it works with the same server, when redirected through an external rinetd. What can I do ? Where can I start debugging ? Anyone having similar problems ? If possible, please also reply to me directly (CC). Regards, Steffen --8--- package mypackage; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UpstreamBenchmark extends HttpServlet implements Runnable { private long start = -1; private int total; private Thread thread; private final byte[] buffer = new byte[ 4096 ]; public void run() { while ( !Thread.interrupted() ) { if ( start != -1 ) { long time = System.currentTimeMillis() - start + 1; double speed = ( total / 1.024 ) / time; System.out.println( speed: + speed + kb/sec ); } try { Thread.sleep( 500 ); } catch ( Throwable t ) { t.printStackTrace(); } } } @Override public void destroy() { thread.interrupt(); super.destroy(); } @Override public void init() throws ServletException { super.init(); thread = new Thread( this ); thread.start(); } @Override protected final void doPost( HttpServletRequest request, HttpServletResponse response ) { try { total = 0; start = System.currentTimeMillis(); InputStream is = request.getInputStream(); int read; while ( ( read = is.read( buffer ) ) != -1 ) total += read; is.close(); System.out.println( read + total + bytes. ); } catch ( Throwable t ) { t.printStackTrace(); } start = -1; } } smime.p7s Description: S/MIME cryptographic signature