Hi!
I am using GeoServer 2.4.2 on Windows Server 2003 x64. I have strangeness with performance.
Firstly is performance itself. For example, it is takes about a minute for my GeoServer to render 800x600 tiled map on each zooming or panning without any other requests. I am using map client based on OpenLayes. The layer is a topographic mosaic stored in ArcSDE (MSSQL Server). Tiles are 256x256.
I have following java tuning parameters:
-Xms2048m -Xmx2048m
-XX:MaxPermSize=512M
-XX:PermSize=512M
-XX:NewRatio=2
-XX:SoftRefLRUPolicyMSPerMB=36000
My system configuration is:
Software:
Windows Server 2003 x64;
JRE 7 with latest update;
Hardware:
CPU: 2 Intel Xeon E5335 (8 cores summary, 2 GHz each)
Memory: 8GB
Secondly, no matter how many requests are , the GeoServer uses mostly 2 halves of 8 cores or about 17-20 percent of CPU.
There are CPU load examples:
1 user requests tiled map http://s27.postimg.org/gv38mus1v/1_user_tiled.jpg
4 users request different tiled maps http://s24.postimg.org/4irrc98xh/4_users_tiled.jpg
8 users request different tiled maps http://s24.postimg.org/l9351l7cl/8_users_tiled.jpg
And thirdly, the processes which load CPU are strange.
Just look at this http://s8.postimg.org/f7ihdmvph/processes.jpg
First 3 processes (csrss.exe, wrapper.exe and java.exe) make most part of CPU load. What are doing wrapper.exe and java.exe I can understand, but what is doing csrss.exe? Why while GeoServer processes requests, the csrss.exe is making most part of CPU load? When system idle, csrss.exe does not load CPU, only when the GeoServer processes requests.
Somebody explain me please, why this all happens, and what I should do to increase my GeoServer performance and resource usage.
Your help will be very much appreciated.
Sergey.