Hi, I while ago I post an issue with db2 returning slowly data to geoserver, and asking if it’s possible to increment the parameter fetch size…
after a lot of experiment, here are my conclusions…
The problem isn’t the fetch size or db2 or geoserver is (by now) the CPU Cache…
I spent a lot of time trying different hardware, geoserver and db2 configurations and the result where always similar… it took 20sec aprox. to generate a map of 22002 features… I even modify the db2 connector setting fetch size bigger with no results…
I week ago, I installed everything in my T43 ibm notebook and the results (with everything installed by default) where unbelievable… it took only 7 seconds to generate the same map with 22002 features… WOW!! my notebook was poisoned…
After this results, I check everything possible to configure on linux, db2, tomcat/glassfish, and geoserver… nothing strange… i go deep on the hardware, specs, mem, disk and CPU.
The only thing i found better on my notebook than other hardware was the CPU cahe… my notebook has 2MB and the other hardware (P4 and P4 w/HT) only has 512Kb…
I started to look for more CPU’s with 2Mb cache and the result where the same as my notebook… 6~7 secs…
well, that’s my expirence por now… I would like to here someone else opinion on this issue…(or similar issues)
thanks,
Facundo.-
pd: as always… sorry my bad english…
–
Facundo Garat Mayer
facundo@anonymised.com
anyone?.. at least someone understood what I try to say!!!
On 9/13/07, Facundo Garat <facundo.garat@anonymised.com > wrote:
Hi, I while ago I post an issue with db2 returning slowly data to geoserver, and asking if it’s possible to increment the parameter fetch size…
after a lot of experiment, here are my conclusions…
The problem isn’t the fetch size or db2 or geoserver is (by now) the CPU Cache…
I spent a lot of time trying different hardware, geoserver and db2 configurations and the result where always similar… it took 20sec aprox. to generate a map of 22002 features… I even modify the db2 connector setting fetch size bigger with no results…
I week ago, I installed everything in my T43 ibm notebook and the results (with everything installed by default) where unbelievable… it took only 7 seconds to generate the same map with 22002 features… WOW!! my notebook was poisoned…
After this results, I check everything possible to configure on linux, db2, tomcat/glassfish, and geoserver… nothing strange… i go deep on the hardware, specs, mem, disk and CPU.
The only thing i found better on my notebook than other hardware was the CPU cahe… my notebook has 2MB and the other hardware (P4 and P4 w/HT) only has 512Kb…
I started to look for more CPU’s with 2Mb cache and the result where the same as my notebook… 6~7 secs…
well, that’s my expirence por now… I would like to here someone else opinion on this issue…(or similar issues)
thanks,
Facundo.-
pd: as always… sorry my bad english…
–
Facundo Garat Mayer
facundo@anonymised.com
–
Facundo Garat Mayer
facundo@anonymised.com
Facundo Garat ha scritto:
anyone?... at least someone understood what I try to say??!!
Yes I have, but I can't replicate your situation since I don't
happen to have machines with the same clock but different
cache.
I also would like to notice that clock speed by itself does
not define the processor speed, core duo as faster than P4,
and core 2 duo a faster than core duo given the same clock speed,
so it may not only be a matter of cache.
Yet this should not explain a 3x speed improvement in my opinion.
We've also noticed that image encoding is faster on windows under
certain conditions (provided you have installed the native part
of jai and jai image i/o, that is), but neither this
does fully such a speed difference.
Anyways, 7 or 20 does not make much of a difference, anything
over 1 second is too slow for most users. I'd suggest a few things:
- use scale denominator filters in SLD to avoid painting layers
that are simply too detailed for the current zoom level
- simplify styling
- try out a GeoServer 1.6.x nightly, we've poured in quite some
speed improvements in the rendering chain (the speedup will
be limited since you're using DB2, and the datastore is
definitely not well optimized for rendering speed these days,
but you may get some anyways).
- look into paletted images support to reduce the image size
(you may not notice it if you do local tests, but on the
internet it matters a lot)
Hope this helps
Cheers
Andrea
Andrea, thanks for the answer…
We’re already working on SLD and paletted images… We will use tiles too…
If you are interested I will post more results later. I’m still sorprise with the diference of time with only a bigger L2 Cache.
thanks,
facundo.-
Facundo Garat Mayer
facundo@anonymised.com
On 9/17/07, Andrea Aime <aaime@anonymised.com> wrote:
Facundo Garat ha scritto:
anyone?.. at least someone understood what I try to say!!!
Yes I have, but I can’t replicate your situation since I don’t
happen to have machines with the same clock but different
cache.
I also would like to notice that clock speed by itself does
not define the processor speed, core duo as faster than P4,
and core 2 duo a faster than core duo given the same clock speed,
so it may not only be a matter of cache.
Yet this should not explain a 3x speed improvement in my opinion.
We’ve also noticed that image encoding is faster on windows under
certain conditions (provided you have installed the native part
of jai and jai image i/o, that is), but neither this
does fully such a speed difference.
Anyways, 7 or 20 does not make much of a difference, anything
over 1 second is too slow for most users. I’d suggest a few things:
- use scale denominator filters in SLD to avoid painting layers
that are simply too detailed for the current zoom level
- simplify styling
- try out a GeoServer 1.6.x nightly, we’ve poured in quite some
speed improvements in the rendering chain (the speedup will
be limited since you’re using DB2, and the datastore is
definitely not well optimized for rendering speed these days,
but you may get some anyways).
- look into paletted images support to reduce the image size
(you may not notice it if you do local tests, but on the
internet it matters a lot)
Hope this helps
Cheers
Andrea