DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12837>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12837

Possible Memory Leak in I_R2.dll

           Summary: Possible Memory Leak in I_R2.dll
           Product: Tomcat 4
           Version: 4.1.7
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Connector:Coyote JK 2
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [EMAIL PROTECTED]


Possible Memory Leak in I_R2.dll


While doing some testing I noticed that the ISAPI connector using I_R2.dll 
appears that it may have a memory leak in it.  

Testing:
All test were done using the ab.exe testing program
Windows 2000 Server Service pack 2
Pentium 4, 1.5Ghz
512mb RAM

Note: -c500 -n100000 sugested by Nacho

Test1: ab -c500 -n100000 http://localhost/examples/jsp/index.html
  - start with a reboot to insure memory was cleared
  - Available memory at begining of test 364916K
  - inetinfo.exe process started out at 10,416K  mem usage
  - Tomcat java.exe process started out at 19,440K mem usage
  - at 50,000 requests inetinfo was using 206,256K of memory 
    the java process was hovering around 18,240K
    ab.exe its self was using 3,512K
  
  - at 70,000 requests  NOTICE that the VIRTUAL SIZE is HUGE.  The machine ran 
out of RAM
    CWD:     C:\WINNT\system32\
    CmdLine: C:\WINNT\System32\inetsrv\inetinfo.exe
    VirtualSize:   1137040 KB   PeakVirtualSize:   1141200 KB
    WorkingSetSize: 14368 KB    PeakWorkingSetSize:373076 KB
    NumberOfThreads: 91
    
    CWD:     D:\Tomcat 4.1\bin\
    CmdLine: "d:\j2sdk1.4.0.01\bin\java"     -
Djava.endorsed.dirs="..\bin;..\comm
    on\endorsed" -classpath "d:\j2sdk1.4.0.01
\lib\tools.jar;..\bin\bootstrap.jar" -D
    catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" 
org.apache.ca
    talina.startup.Bootstrap  start
    VirtualSize:   217376 KB   PeakVirtualSize:   217376 KB
    WorkingSetSize: 10232 KB   PeakWorkingSetSize: 23420 KB
    NumberOfThreads: 90
    ab.exe its self was using 3,512K

  - At end of RUN
    CWD:     C:\WINNT\system32\
    CmdLine: C:\WINNT\System32\inetsrv\inetinfo.exe
    VirtualSize:   1125764 KB   PeakVirtualSize:   1141200 KB
    WorkingSetSize: 15068 KB   PeakWorkingSetSize:373076 KB
    NumberOfThreads: 91

        CWD:     D:\Tomcat 4.1\bin\
        CmdLine: "d:\j2sdk1.4.0.01\bin\java"     -
Djava.endorsed.dirs="..\bin;..\comm
        on\endorsed" -classpath "d:\j2sdk1.4.0.01
\lib\tools.jar;..\bin\bootstrap.jar" -D
        catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" 
org.apache.ca
        talina.startup.Bootstrap  start
        VirtualSize:   217376 KB   PeakVirtualSize:   221536 KB
        WorkingSetSize: 10576 KB   PeakWorkingSetSize: 23420 KB
    
  - overall system memory was at 3,896 free
  - after aborting the test at 50K request, the system did not free any of the 
memory from the 
    inetinfo.exe process
  - tomcat was only using 10,416K during the same test
  
  - Right after starting the test the following error appeared in the TOMCAT 
console
                Sep 19, 2002 6:12:45 PM org.apache.jk.server.JkCoyoteHandler 
action
                SEVERE: Error in action code
                java.net.SocketException: Software caused connection abort: 
socket write error
                        at java.net.SocketOutputStream.socketWrite0(Native 
Method)
                        at java.net.SocketOutputStream.socketWrite
(SocketOutputStream.java:92)
                        at java.net.SocketOutputStream.write
(SocketOutputStream.java:126)
                        at org.apache.jk.common.ChannelSocket.send
(ChannelSocket.java:380)
                        at org.apache.jk.common.ChannelSocket.invoke
(ChannelSocket.java:558)
                        at org.apache.jk.server.JkCoyoteHandler.action
(JkCoyoteHandler.java:354)
                
                        at org.apache.coyote.Response.action(Response.java:216)
                        at org.apache.coyote.Response.finish(Response.java:336)
                        at 
org.apache.coyote.tomcat4.CoyoteResponse.finishResponse(CoyoteRespons
                e.java:503)
                        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:22
                4)
                        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:256)
                
                        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:355)
                        at org.apache.jk.common.ChannelSocket.invoke
(ChannelSocket.java:563)
                        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.ja
                va:535)
                        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:638)
                        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
                ool.java:533)
                        at java.lang.Thread.run(Thread.java:536)
                Sep 19, 2002 6:12:45 PM org.apache.jk.common.ChannelSocket 
processConnection
                SEVERE: Error, closing connection
                java.net.SocketException: Software caused connection abort: 
JVM_recv in socket i
                nput stream read
                        at java.net.SocketInputStream.socketRead0(Native Method)
                        at java.net.SocketInputStream.read
(SocketInputStream.java:116)
                        at java.io.BufferedInputStream.fill
(BufferedInputStream.java:183)
                        at java.io.BufferedInputStream.read1
(BufferedInputStream.java:222)
                        at java.io.BufferedInputStream.read
(BufferedInputStream.java:277)
                        at org.apache.jk.common.ChannelSocket.read
(ChannelSocket.java:471)
                        at org.apache.jk.common.ChannelSocket.receive
(ChannelSocket.java:409)
                        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.ja
                va:524)
                        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:638)
                        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
                ool.java:533)
                        at java.lang.Thread.run(Thread.java:536)
                Sep 19, 2002 6:12:46 PM org.apache.jk.common.ChannelSocket 
processConnection
                WARNING: server has closed the current connection (-1)
                Sep 19, 2002 6:12:46 PM org.apache.jk.common.ChannelSocket 
processConnection
                WARNING: server has closed the current connection (-1)
--------------------------------------------------------------------------------
---------
Test 1: RESULTS
--------------------------------------------------------------------------------
---------
        Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, 
http://www.zeustech.net/
        Copyright (c) 1998-2002 The Apache Software Foundation, 
http://www.apache.org/
        
        Benchmarking localhost (be patient)
        Completed 10000 requests
        Completed 20000 requests
        Completed 30000 requests
        Completed 40000 requests
        Completed 50000 requests
        Completed 60000 requests
        Completed 70000 requests
        Completed 80000 requests
        Completed 90000 requests
        Finished 100000 requests
        
        
        Server Software:        Microsoft-IIS/5.0
        Server Hostname:        localhost
        Server Port:            80
        
        Document Path:          /examples/jsp/index.html
        Document Length:        0 bytes
        
        Concurrency Level:      500
        Time taken for tests:   1370.140165 seconds
        Complete requests:      100000
        Failed requests:        99918
           (Connect: 0, Length: 99918, Exceptions: 0)
        Write errors:           0
        Non-2xx responses:      1
        Total transferred:      768468823 bytes
        HTML transferred:       748086066 bytes
        Requests per second:    72.99 [#/sec] (mean)
        Time per request:       6.851 [ms] (mean)
        Time per request:       0.014 [ms] (mean, across all concurrent 
requests)
        Transfer rate:          547.72 [Kbytes/sec] received
        
        Connection Times (ms)
                    min  mean[+/-sd] median   max
        Connect:    0     0    3.2 0 500
        Processing: 0  6838 90070.3 380 1368758
        Waiting:    -1032473565212 -51616909 7300544625.2 370 1368748
        Total:      0  6839 90070.4 380 1368758
        
        Percentage of the requests served within a certain time (ms)
          50%    380
          66%    410
          75%    640
          80%   1532
          90%   2493
          95%   3334
          98%   3715
          99%   5878
         100%  1368758 (longest request)


Test2: ab -c500 -n100000 http://localhost:8080/examples/jsp/index.html
--------------------------------------------------------------------------------
---------
  - start with a reboot to insure memory was cleared
  - inetinfo.exe process is not running
  - going straight to tomcat which is listening on port 8080
  
  - at 5000 Requests
        CWD:     D:\Tomcat 4.1\bin\
        CmdLine: "d:\j2sdk1.4.0.01\bin\java"     -
Djava.endorsed.dirs="..\bin;..\comm
        on\endorsed" -classpath "d:\j2sdk1.4.0.01
\lib\tools.jar;..\bin\bootstrap.jar" -D
        catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" 
org.apache.ca
        talina.startup.Bootstrap  start
        VirtualSize:   204064 KB   PeakVirtualSize:   208224 KB
        WorkingSetSize: 22760 KB   PeakWorkingSetSize: 23292 KB
        NumberOfThreads: 38
   
        Total System Memory Free  398396K 
  
  -     At end of Requests
  
        CWD:     D:\Tomcat 4.1\bin\
        CmdLine: "d:\j2sdk1.4.0.01\bin\java"     -
Djava.endorsed.dirs="..\bin;..\comm
        on\endorsed" -classpath "d:\j2sdk1.4.0.01
\lib\tools.jar;..\bin\bootstrap.jar" -D
        catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" 
org.apache.ca
        talina.startup.Bootstrap  start
        VirtualSize:   204064 KB   PeakVirtualSize:   208224 KB
        WorkingSetSize: 22760 KB   PeakWorkingSetSize: 23292 KB
        NumberOfThreads: 38
  

--------------------------------------------------------------------------------
---------
Test 1: RESULTS
--------------------------------------------------------------------------------
---------
Benchmarking localhost (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Finished 100000 requests


Server Software:        Apache
Server Hostname:        localhost
Server Port:            8080

Document Path:          /examples/jsp/index.html
Document Length:        7487 bytes

Concurrency Level:      500
Time taken for tests:   246.424340 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      771200000 bytes
HTML transferred:       748700000 bytes
Requests per second:    405.80 [#/sec] (mean)
Time per request:       1.232 [ms] (mean)
Time per request:       0.002 [ms] (mean, across all concurrent requests)
Transfer rate:          3056.21 [Kbytes/sec] received

Connection Times (ms)
            min  mean[+/-sd] median   max
Connect:    0     0    3.0 0 30
Processing: 20  1226 16162.7 150 246093
Waiting:    0  1148 16167.3 80 246083
Total:      20  1227 16162.7 150 246093

Percentage of the requests served within a certain time (ms)
  50%    150
  66%    160
  75%    160
  80%    160
  90%    170
  95%    190
  98%    210
  99%    230
 100%  246093 (longest request)

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

Reply via email to