remm        2003/07/29 11:53:20

  Modified:    http11/src/java/org/apache/coyote/http11
                        Http11Processor.java
  Log:
  - Reduce timeout and disable keepalive when the server starts running out
    or processors (of course, if servlet processing times are too long, or is under
    a DoS attack, it might still run out of processors).
  - The policy is really simple, and could obviously be tweaked (and a flag can
    be added to make it optional, etc).
  
  Revision  Changes    Path
  1.72      +10 -0     
jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
  
  Index: Http11Processor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- Http11Processor.java      13 Jul 2003 21:52:05 -0000      1.71
  +++ Http11Processor.java      29 Jul 2003 18:53:20 -0000      1.72
  @@ -589,6 +589,16 @@
           int keepAliveLeft = maxKeepAliveRequests;
           int soTimeout = socket.getSoTimeout();
   
  +        float threadRatio = 
  +            (float) threadPool.getCurrentThreadsBusy() 
  +            / (float) threadPool.getMaxThreads();
  +        if ((threadRatio > 0.33) && (threadRatio <= 0.66)) {
  +            soTimeout = soTimeout / 5;
  +        } else if (threadRatio > 0.66) {
  +            soTimeout = soTimeout / 10;
  +            keepAliveLeft = 1;
  +        }
  +
           boolean keptAlive = false;
   
           while (started && !error && keepAlive) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to