Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have set-up a machine running Windows Server 2008, and GeoServer 2.1.3. PostgreSQL 9.1/PostGIS 1.5.3 are running locally on that same machine, which is hosted at a location with a 250 megabit/second internet connection.

In GeoServer, I have a single layer published from that PostGIS instance, and I'm serving it up through WFS over the internet to desktop GIS software clients.

Performance is not as I had expected, and I'm wondering if any of you could shed some light on this for me.

Downloading an EXE file from the IIS HTTP server on that machine runs at about 5 megabits/second; the uppermost limit of the connection on the client end.

Using that same 5 megabit/second client to access the WFS layer served by GeoServer however, the speed does not exceed 1 megabit/second. I watch the resource indicators on the server machine, and the processor use spikes briefly (about 30 seconds or so) to 100% when the initial request is made and the query is performed in PostgreSQL, but then there is little to no processor activity, or other resource drain while (presumably) the GML data is sent over to the client (MapInfo, in this case. Since this is a large-ish dataset, about 40mb (~320 megabits), it takes "forever" to download, according to my users.

Can anyone think of some limiting factor that might account for this discrepancy in network speed from the same server, to the same client, but over different protocols? Is this expected behaviour?

Thank you very much for your time.

Joe

share|improve this question
    
can you add some details about which of the performance tuning guides you've followed so far and what settings you are using. –  iant Feb 1 '12 at 8:47
    
I got some ideas from docs.geoserver.org/2.1.1/user/production/index.html. Specifically, I have switched to "production logging", I have changed the service strategy to "SPEED", and I have set up service-level security. I don't see the server being taxed during the "slow" transfer of data, which is what has got me so confused. Thanks for the help! –  Joe Feb 1 '12 at 16:11
    
Have you tried running ANALYZE on your PostGIS table? In my GeoServer setup that sped things up by 50%+. Additionally, I would try using a different version of GML. If I recall correctly, one of the GML serializers in GeoServer is much quicker than the other. –  Rohan Singh Feb 2 '12 at 10:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.