Connection pool problem for ArcSDE store
----------------------------------------
Key: GEOT-3418
URL: http://jira.codehaus.org/browse/GEOT-3418
Project: GeoTools
Issue Type: Bug
Components: data arcsde
Affects Versions: 2.6.4
Environment: Java 1.6.14, Win 2003 server
Reporter: Mathieu Lavoie
Assignee: Gabriel Roldán
Priority: Minor
Attachments: geoserver_simple_test.jmx
I'm using Geoserver 2.0.2 with the ArcDE plugin. I've created a data
store to ArcSDE with the following configuration:
Initial conn: 1
Max conn: 5
I'm using ArcSDE 9.2
If I run a load test against Geoserver (WMS and WFS calls) I end up
with the following error: Error: Maximum number of connections to
instance esri_sde exceeded (-7). The test result are really bad as
most of the requests cannot be served.
Geoserver is the only app connected to ArcSDE. If I look at the task
manager under the database, I can see more than 5 gsrvr processes
running on the SDE server (up to 48, which is the max conn for SDE).
I would expect to see no more than 5 processes as the max conn is 5.
It looks like some of the processes are orphan and therefore can't
be reused forcing Geoserver to create a new process...
If I set initial conn and max conn at 1, the load test is just fine
even if I end up with 4 gsrvr processes at the end.
It looks like something isn't just right with SDE.
As far as I remember, ArcIMS had the same problem and ESRI suggest
to restart ArcSDE every week to avoid the problem. Under load (say 50
concurrent users) I'm running out of connection in 10 min so
restarting ArcSDE every week does not appear to be a solution....
This is a bit annoying as I cannot take advantage of the pooling
mechanism provided in the ArcSDE plugin.
I've attached a JMeter testcase to reproduce the problem.
The test is simple, it just ask for the same WMS request over and over again
(without caching).
It looks like some of the gsvr processes become orphan at some point. With a
max conn set to 1, the # of conn at the end of the test is around 4. With a max
of 5 conns, 10 processes and so on....
You'll have to change the Servicer Name from the HTTP Request page and might
need to crank the number of threads in the Jmeter test (see Thread Group from
the Test Plan) depending on your setup.
I've ran the SDE plugin with the version 9.2 and 9.3 of the ESRI jars with the
same result.
Also, if I stop Geoserver the gsvr processes disappear and if I re-save the
ArcSDE datastore, the number of process go back to 1.
With the above behavior it let me think that the connection pool is not
releasing connection properly but if it was the case we should get a connection
pool exhausted and shouldn't create more process...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel