Oracle-Connection-Pooling in Java

Umberto Nicoletti umberto.nicoletti at GMAIL.COM
Mon Jan 9 09:01:52 EST 2006


Hi Benedikt!

On 1/2/06, Benedikt Rothe <umn-ms at hydrotec.de> wrote:
>
> Hi list members,
>
> From former threads I got the impression, that there are some folks
> interested in the Oracle/Mapserver/Java/Tomcat.
>

You can count me in.

> Therfore I'd like to share experiences I made with using Connection-Pooling
> of
> Oracle-Connections inside Java/Tomcat.
>
> Testenvironment: Mapserver 4.6.2; Suse-Linux; Tomcat 4.1.31; Sun-Java 1.4.2
> Simulating 5 Browsers, which produce maps, query features, make selections,
> query-legend-pics frequently.
>
> - After using synchronized "enough" I didn't have crashes of Tomcat.
>

When the jvm crashes it produces a hs_err*.log file where it prints a
stack trace of the function in which the crash occurred. Do you still
have them? If yes please post the function where the crash occurred.
Since it seems that connection pooling is locked the crash should
happen in the Oracle connection code.

Best regards,
Umberto


> - Big memory leak: Between the first 5 requests and the next 100 requests
>    the Tomcat-process became about 400MB bigger.  (I use "top" for
>    watching memory-footprint.)
>
> - Cleaning the Connection-Pool "by hand". This means:
>   Opening the function msConnPoolCloseUnreferenced in mappool.c
>   for use in Java and call it after every request.
>
> - After this I still have memory leaks:  About 100MB for 30.000 requests.
>   (I also made a test: 25.000 requests without Connection pooling. Memory
> increased
>     and decreased as expected  in this case.)
>
> - Performancecomparison in my testcase:
>   Without use of connection-pooling: ~ 50 Request per minute
>   With use of connection-pooling: ~75 Request per minute
>
>
> As a result I have the following encouragements:
> - Making msConnPoolCloseUnreferenced  availabe for mapscript via swig.
>   (I made a hack by directly editing mapscript/java/mapscript_wrap.c and
>    Java-Files in mapscript/java/edu/umn/gis/mapscript.) I
> think this
>   function could be part of the mapscript-Object?
>
> - Investigations on the memory leaks. Both leaks shouldn't occure. (I'll do
>   this, if I find time. but ...)
>
> - Fernando Simon: What about using OCI-Connection-Pooling  for oracle
> instead the mappool.c?
>
> http://oraclesvca2.oracle.com/docs/cd/B14117_01/appdev.101/b10779/oci09adv.htm#452244
>   (If you don't have time, I maybe could help coding. But would it become
> part uf Mapserver?)
>
> Happy new year to everybody
> Benedikt Rothe



More information about the mapserver-users mailing list