A new feature was recently added to Fossil that allows it to deny expensive
requests (such as "blame" or "tarball" on a large repository) if the server
load average is too high.  See
http://www.fossil-scm.org/fossil/doc/tip/www/server.wiki#loadmgmt for
further information.

This new feature was recently added to the server that self-hosts Fossil
and which also hosts a number of other projects including SQLite and
System.Data.SQLite.

I am pleased to announce that this new feature has passed its first test.

About three hours ago, a single user in Beijing began downloading multiple
copies of the same System.Data.SQLite tarball.  As of this writing, he has
so far attempted to download that one tarball 11,784 times (at last count -
the download attempts are continuing...)  Download requests are arriving at
a rate of about one per second, and each request takes about 3.1 seconds of
CPU time in order to compute the 80MB tarball.  Since requests are arriving
faster than they can be serviced, this would formerly have resulted in
unlimited growth of the run-queue, essentially shutting down the server.
The effect is the same as having been "slashdotted".  But thanks to the
recent enhancements, most of these massive download requests are rejected
with a "503" error and the server load average is staying below 4.0 at all
times and thus continues to provide quick responses to other 10
requests/second that the server normally receives.

If you are running your own publicly accessible Fossil server, you might
want to consider updating to the latest Fossil trunk and activating the
load-average limiter too.  (Note to Tclers:  I have already done this on
core.tcl.tk.)

And if you have alternative suggestions about how to keep a light-weight
host running smoothly under a massive Fossil request load, please post
follow-up comments.
-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to