Oracle-Connection-Pooling in Java
Umberto Nicoletti
umberto.nicoletti at GMAIL.COM
Mon Jan 9 06:01:52 PST 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