----------------------------------------------------------------
BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
WHEN YOU POST, include all relevant version numbers, log files,
and configuration files. Don't make us guess your problem!!!
----------------------------------------------------------------
Hello rsingh1,
JServ is serving up to maxConnections socket connections at the same
time (default 50)
JServ won't accept more that maxConnections, so Apahce will probably
'return internal server errors', but I are you sure that JServ
restarts itself ? please take a look at the logs.
while (true) {
//Here we make sure that the number of
//parallel connections is limited
semaphore.throttle();
try {
JServConnection connection = new JServConnection();
Thread t = new Thread(connection);
Wednesday, January 19, 2000, 7:22:02 AM, you wrote:
rle> ----------------------------------------------------------------
rle> BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
rle> WHEN YOU POST, include all relevant version numbers, log files,
rle> and configuration files. Don't make us guess your problem!!!
rle> ----------------------------------------------------------------
rle> Ben,
rle> Can you also include the script you are using for the stress testing ?
rle> I can try and run it on my machine and see what turns up.
rle> best regards
rle> Raghu
rle> From:"B. Flaumenhaft" <[EMAIL PROTECTED]> on 01/18/2000 07:37 PM GMT
rle> Sent by: "B. Flaumenhaft" <[EMAIL PROTECTED]>
rle> Please respond to "Java Apache Users"
rle> <[EMAIL PROTECTED]>
rle> To: "Java Apache Users" <[EMAIL PROTECTED]>
rle> cc: (bcc: Raghu V Singh/rsingh1/LSU)
rle> Subject: Re: Apache/JServ under high-volume requests?
rle> ----------------------------------------------------------------
rle> BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
rle> WHEN YOU POST, include all relevant version numbers, log files,
rle> and configuration files. Don't make us guess your problem!!!
rle> ----------------------------------------------------------------
rle> Thanks for all the suggestions, but I'm afraid I've managed to duplicate
rle> the problem with an extremely basic servlet (no database access or
rle> potential resource issues).
rle> I took the SimpleServlet program, included as an example in the JSDK. This
rle> servlet simply opens an output stream and prints a "hello world"; I added a
rle> small delay to it (Thread.sleep() for ten seconds). Several hundred
rle> connections kills Apache/JServ quite effectively.
rle> I've attached this servlet code to the end of this message, in case anyone
rle> would like to try it for themselves.
rle> It certainly occurred to me that there might be bugs in my code (or in my
rle> VM). Still, to reiterate what noone has responded to: *** I'm not seeing
rle> deadlock, and I'm not seeing exceptions. I'm seeing JServ restart itself
rle> and Apache return internal server errors while this is happening. ***
rle> Under what conditions should JServ die and restart? I was under the
rle> impression that it shouldn't be possible for my code to kill the VM.
rle> I have a number of ideas as to what's happening here (most of them
rle> involving APJserv issues), but they're pure speculation, and I don't know
rle> the JServ internals very well. That's why I'm posting this here.
rle> To reiterate: a very vanilla servlet is killing Apache/JServ under
rle> high-load conditions, and this is perfectly duplicable under Linux and
rle> Solaris (using several VMs, including the JavaSoft VM).
rle> Thoughts?
rle> Thanks,
rle> Ben Flaumenhaft
rle> here's the code that's causing problems when requested by one or two
rle> hundred concurrent threads:
rle> import java.io.*;
rle> import javax.servlet.*;
rle> import javax.servlet.http.*;
rle> public class SimpleServlet extends HttpServlet
rle> {
rle> public void doGet ( HttpServletRequest request,
rle> HttpServletResponse response )
rle> throws ServletException, IOException
rle> {
rle> PrintWriter out;
rle> String title = "Simple Servlet Output";
rle> // set content type and other response header fields first
rle> response.setContentType("text/html");
rle> // then write the data of the response
rle> out = response.getWriter();
rle> out.println("<HTML><HEAD><TITLE>");
rle> out.println(title);
rle> out.println("</TITLE></HEAD><BODY>");
rle> out.println("<H1>" + title + "</H1>");
rle> out.println( "<p> Delaying 10 seconds ..." );
rle> out.flush();
rle> try
rle> {
rle> Thread.sleep( 10 * 1000 );
rle> out.println( "done" );
rle> }
rle> catch( InterruptedException e )
rle> {
rle> out.println( "interrupted" );
rle> }
rle> out.println("<P>This is output from SimpleServlet.");
rle> out.println("</BODY></HTML>");
rle> out.close();
rle> }
rle> }
rle> --
rle> --------------------------------------------------------------
rle> Please read the FAQ! <http://java.apache.org/faq/>
rle> To subscribe: [EMAIL PROTECTED]
rle> To unsubscribe: [EMAIL PROTECTED]
rle> Archives and Other: <http://java.apache.org/main/mail.html>
rle> Problems?: [EMAIL PROTECTED]
rle> --
rle> --------------------------------------------------------------
rle> Please read the FAQ! <http://java.apache.org/faq/>
rle> To subscribe: [EMAIL PROTECTED]
rle> To unsubscribe: [EMAIL PROTECTED]
rle> Archives and Other: <http://java.apache.org/main/mail.html>
rle> Problems?: [EMAIL PROTECTED]
--
Best regards,
Ivan mailto:[EMAIL PROTECTED]
--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://java.apache.org/main/mail.html>
Problems?: [EMAIL PROTECTED]