forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Turner <je...@apache.org>
Subject Forrest: dynamic or static?
Date Sat, 20 Sep 2003 13:44:14 GMT
I see we now have i18n'ed menus, where the language is chosen based on
the locale of the requester.

This feature is useless if you're rendering a static site with the CLI.
The requester's locale will be that of the local machine.

Then we have:

 - The addition of XSP.  Lots of uses with dynamic Forrest, none (that I
   know of) for a statically rendered site.
 - Lucene integration.  As it exists in CVS, it screws up statically
   rendered sites, so is disabled.


Being a Cocoon distribution, there is a huge amount of stuff that Forrest
*could* include.  I think we need to draw a line, define what Forrest
actually is, and stick to that.

The line I propose is that Forrest should be regarded as an offline site
generation tool that happens to have an online mode for rapid page
development.  There should be no features _unusable_ from a static site.
For especially useful features, like searching, we can bend the rule and
have online/offline equivalents (lucene and google).

I can demonstrate why I take such a hardline stance with a small
benchmark:

jeff@expresso:~$ ab -n 50 -c 10 http://localhost:8888/index.html
....
Time taken for tests:   60.725 seconds
Complete requests:      50
Failed requests:        0
Broken pipe errors:     0
Total transferred:      1201378 bytes
HTML transferred:       1187850 bytes
Requests per second:    0.82 [#/sec] (mean)
Time per request:       12145.00 [ms] (mean)
Time per request:       1214.50 [ms] (mean, across all concurrent
requests)
Transfer rate:          19.78 [Kbytes/sec] received


1.2s per request (excluding warmup) is pathetic.  By comparison, Apache
takes 2 MILLISECONDS to serve the same page:

Time taken for tests:   0.109 seconds
Complete requests:      50
Failed requests:        0
Broken pipe errors:     0
Total transferred:      1259594 bytes
HTML transferred:       1243754 bytes
Requests per second:    458.72 [#/sec] (mean)
Time per request:       21.80 [ms] (mean)
Time per request:       2.18 [ms] (mean, across all concurrent requests)
Transfer rate:          11555.91 [Kbytes/sec] received

Perhaps we're doing something stupid in our sitemap.  Perhaps Cocoon
caching is crap.  Whatever the cause, we're stuck with the result.  I
consider online Forrest to be too slow for anything other than
development work.

So I'd like to narrow Forrest's potential scope to *just* those features
that can be expressed in HTML.  We get the best of Cocoon (sitemap
expressivity) while leaving out the worst (performance, overhead).  This
means Forrest will never evolve into some ultimate CMS, but there's
enough of those in the world already.


--Jeff

Mime
View raw message