state database size ssd model features client time to
          application db (in seconds)
    poi #     query
cache
object
cache
mat.
views
geo
spat.
first
byte
last
byte

relational

mssql 2003 19.359 yes           0,022 0,180

semantic#1

mysql 5.1.43 5.000 no A - - - - >30,000 >30,000

semantic#2

vos 6.01.3126 5.000 no B - - - - 6,481 6,763

semantic#3

vos 6.01.3126 5.000 no B yes - - - 1,120 1,396

semantic#4

vos 6.01.3126

5.000

no B yes yes - - 0,741 1,012

semantic#4

vos 6.01.3126

5.000

yes B yes yes - - 0,270 0,435

semantic#5

vce 6.01.3127 5.000 no B yes yes - yes 0,540 0,856

semantic#5

vce 6.01.3127 5.000 yes B yes yes - yes 0,260 0,394

semantic#6

vos 6.01.3127 20.010 no C yes yes - - 0,345 0,689

semantic#6

vce 6.02.3128 20.010 yes C yes yes - yes 0,351 0,684

Note 1: the relational web application pages are served by an iis 6.0 webserver with asp,
the semantic versions by an apache 2.2.x webserver with php 5.3.x; all page output is buffered.

Note 2: time to byte timings were measured using the lori extension within Firefox 3.6 where local browser cache & images & javascript are disabled; the webserver application cache was warmed-up by first loading each zoom-level; and corrections have been applied to not count network delay.

Note 3: testing is done on localhost, to prevent measuring network delays.

Note 4: next steps to get proper end-user application performance could be to implement

  1. try splitting one big large echo output to several smaller (8K) ones,
  2. try increasing apache's SendBufferSize,
  3. move .htaccess to httpd/vhosts.conf,
  4. sent headers to allow client side caching no-store, no-cache, must-revalidate
  5. sent expires header >= 1 month <=1 year for static content, 1 week for dynamic html, 3 seconds for logged in authors that have edit rights
  6. sent last-modified header
  7. respond with 304 when content isn't modified
  8. compress output
  9. minimize number of sent bytes, f.e. by shortening links, classnames, remove whitespace, minify html/css/javascript, serve static content from a cookieless domain, etc.
  10. use efficient css selectors
  11. defer javascript loading
  12. reverse proxy google maps to specify a cache validator/remove q/optimize images
  13. don't buffer output or buffer up to about 1500 bytes (MTU)