[Geoserver-users] Questions for heavy load

Hi,

We are using GeoServer for a small Webmapping application and it works fine.

Now we are asked to be able to add lots (hundreds) of users. Which means heavy load and scalability. And probably roughly 10 getmap / sec.

But we’re having a hard time to figure out if geoserver is the right tool and if yes, how many servers/CPUs should be added and how to calculate the right number of tomcat per server, thread per tomcat, etc.

Of course we plan to do benchmarks but a rough idea would be welcome…

I have read all I could find regarding geoserver in production, on steroids, etc. but I still have questions & concerns :

Knowing that we just want geoserver (inside of Tomcat on Linux) to publish WMS and WFS services based on geospatial data stored in an Oracle database :

  1. Our database is SDE but with Oracle SDO storage : for the best performances, should we use the SDE or the Oracle Spatial connector ?

  2. I am really concerned by all I could read about Java2D not scaling well. Is it still the case ? It looks like switching off antialiasing cures the problem. Is that right ?

  3. Is there a rule of thumb for correctly spanning tomcats across CPUs/Cores/Threads and servers

  4. What’s the best JDK flavor and version ?

  5. Anything else I may be missing…

If anybody has leads or good ideas it would be welcome.

Regards,

Laurent

PS : my boss would not mind sticking with ArcGIS Server (which we know pretty well) but I would like to be able to show that GeoServer is a real alternative.

Hi Laurent,

···

On Thu, Mar 21, 2013 at 7:00 AM, PREVOSTO, Laurent <laurent.prevosto@anonymised.com> wrote:

Hi,

We are using GeoServer for a small Webmapping application and it works fine.

Now we are asked to be able to add lots (hundreds) of users. Which means heavy load and scalability. And probably roughly 10 getmap / sec.

But we’re having a hard time to figure out if geoserver is the right tool and if yes, how many servers/CPUs should be added and how to calculate the right number of tomcat per server, thread per tomcat, etc.

Of course we plan to do benchmarks but a rough idea would be welcome…

I have read all I could find regarding geoserver in production, on steroids, etc. but I still have questions & concerns :

Knowing that we just want geoserver (inside of Tomcat on Linux) to publish WMS and WFS services based on geospatial data stored in an Oracle database :

  1. Our database is SDE but with Oracle SDO storage : for the best performances, should we use the SDE or the Oracle Spatial connector ?

While I don’t have any numbers to back this up my gut would be that cutting out the middle man and going straight oracle would be better performance wise.

  1. I am really concerned by all I could read about Java2D not scaling well. Is it still the case ? It looks like switching off antialiasing cures the problem. Is that right ?

A couple of things to note.

  • the java2d scalability issue is only an issue on the oracle jdk, unfortunately the oracle jdk is the one that performs the best so if you do go with something like openjdk that doesn’t have the same problem then you will sacrifice a bit of performance.

  • the scalability issue can more or less be nullified by scaling out geoserver horizontally, running multiple instances in different virtual machines.

  1. Is there a rule of thumb for correctly spanning tomcats across CPUs/Cores/Threads and servers

No hard rule. Although there are a few companies who can certainly provide guidance in this regard. But usually this is considered commercial support, and very much specific to exactly your needs.

  1. What’s the best JDK flavor and version ?

The oracle vm offers the best performance. Currently the officially recommended version is 1.6. We are working toward 1.7 (with a build server, etc…) but currently it doesn’t have the same usage coverage as 1.6 so still not totally considered as supported. However we have a number of clients running with jdk 1.7 without issue.

  1. Anything else I may be missing…

If anybody has leads or good ideas it would be welcome.

Regards,

Laurent

PS : my boss would not mind sticking with ArcGIS Server (which we know pretty well) but I would like to be able to show that GeoServer is a real alternative.


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

On Thu, Mar 21, 2013 at 2:00 PM, PREVOSTO, Laurent
<laurent.prevosto@anonymised.com> wrote:

Now we are asked to be able to add lots (hundreds) of users. Which means
heavy load and scalability. And probably roughly 10 getmap / sec.

10 getmap a second is not heavy load, see this blog for a setup in which
we targeted 100req/sec, and after launch had to scale up to
thousands of concurrent requests:
http://geo-solutions.blogspot.it/2012/08/real-world-uses-cases-troubleshooting.html

2. I am really concerned by all I could read about Java2D not scaling
well. Is it still the case ? It looks like switching off antialiasing cures
the problem. Is that right ?

As Justin suggested, just have multiple VMs, or if you don't want to
slice the machine
in smaller VMs, just install several Tomcat instances in parallel,
each on its own port,
and have the load balancer go through them

Cheers
Andrea

--

Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------