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