List Info

Thread: New snapshot: MVC and more




New snapshot: MVC and more
user name
2007-05-01 17:06:01
The new Samizdat version has finally reached the point where
it's
stable enough for a Debian package.

Source snapshot:
http://download.savannah.gnu.org/rele
ases/samizdat/samizdat-snapshot.tar.gz

Package should appear in Debian/experimental in a few hours,
package
changelog gives a short summary of what's there:

samizdat (0.6.0.20070501-1) experimental; urgency=low

  * New upstream snapshot 2007-05-01:
    - refactored into MVC pattern (Apache config change
required)
    - passwd renamed to password (database change required)
    - compatible with Ruby 1.8.6
    - CSRF protection added
    - lighttpd support added
    - diff now includes images and file links
    - actions in moderation log translated
    - updated translations: Spanish, Russian, Belarusian

Unscientific benchmarking shows that this version is in
fact
considerably faster than old code:

libapache2-mod-ruby/apache2-mpm-prefork:
item                    19.18   20.55   20.02   (requests
per second)
frontpage               18.90   17.73   18.59   (requests
per second)
frontpage from scratch  5004.284 (ms)
max memory              19m (100 requests per child limit)

lighttpd (fastcgi):
item                    22.18   21.27   17.87   (requests
per second)
frontpage               15.98   17.34   14.62   (requests
per second)
frontpage from scratch  4254.934 (ms)
max memory              46m (no limit)

ruby1.8                    1.8.6-1+b1
postgresql-8.2             8.2.4-1
apache2                    2.2.3-4
libapache2-mod-ruby        1.2.6-1.1
lighttpd                   1.4.15-1

Compare this with data from September:
http://lists.nongnu.org/archive/html/sa
mizdat-devel/2006-09/msg00014.html

20 requests per second is about as much as Ruby CGI can do
(moving
away from cgi.rb is quite likely to improve this
considerably). Good
news is that front page is now much less of a bottleneck (15
requests
per second instead of just 2), and the only loss of
functionality
attributing to this is showhidden option, a variant of which
will be
back soon.

The test was done on the same dataset (9000 published
resources) on
the same hardware (1.5 GHz single-processor P3). CSRF
protection
prevents me from doing the "kill the cache" test,
instead of this I
tested how much time it takes to re-generate front page
after full
cache flush (before re-factoring, it took around 12-20
seconds, now
it's 4-5 seconds). One more change in the test environment
is that
MaxClients and lighttpd counterpart are set to 10, it makes
no sense
to have it any bigger on a single-processor machine, all it
would do
is introduce more context switching overhead and waste more
memory.

Some of the performance increase can be attributed to newer
Ruby and
PostgreSQL versions, removal of showhidden also had some
impact on
database side, the rest is yet another proof that improving
design of
the code eventually yields better results than direct
optimization 

-- 
Dmitry Borodaenko


_______________________________________________
samizdat-devel mailing list
samizdat-develnongnu.org
http://lists.nongnu.org/mailman/listinfo/samizdat-devel

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )