The db4o branch of Freenet is rapidly approaching usability, so I'd very much like some more folk to try it out and let me know what they think, especially in terms of performance. I include instructions below. The db4o branch is a version of Freenet with all persistent requests kept in a database, this has several advantages: - Much lower memory usage for large queues. You will need a fixed 3.7MB for every 10GB of queued downloads, plus obviously some temporary space; locally I have 4.86GB queued on a 128MB node memory limit. - Fewer memory-related problems: Many nodes with largish queues have to do garbage collection very frequently, causing high CPU usage, and get OutOfMemoryExceptions and crashes. - Instant request resuming: On restarting, a db4o node will immediately have all of your persistent downloads up and running from exactly where they were before your node was shut down. On the current Freenet, downloads have to start all over again on restart, causing the node to thrash the datastore for a long time, high CPU usage, I/O, and wasting time that could be used to fetch data. Also, startup should be significantly quicker.
Possible disadvantages: We may have slightly higher CPU usage if there is plenty of RAM and the node isn't restarted, and there will probably be slightly higher disk I/O. Also, I have put a lot of effort into debugging and optimising downloads, uploads seem to work but may be slow, and I haven't tested directory uploads yet. If you would like to help to test the db4o branch, especially on slow systems, this would be very helpful. Please download the freenet-ext.jar and freenet-cvs-latest.jar from the CHKs below, shut down your node, replace freenet-ext.jar with the downloaded version, and replace freenet-stable-latest.jar or freenet.jar or freenet.jar.new (you may have one or more of these files, they're all the same thing), with the downloaded freenet-cvs-latest.jar. CHK at qOcoVmDoMz2gP03I77~Ax375Ixq-Z~kvmYYEj6aJXG8,FlOIKbkwiIxp5Hl9b~~WzBq7UQD01WUf55g-QU8g7TM,AAIC--8/freenet-cvs-snapshot.jar CHK at hgyAtyRgEujwAnx~U~emgdHHkf6SuXPMP0CnEXAlzH4,P65Gw3WRgxJc~29NkRMGw2yG-WkL5K54DgP4UBl7~3M,AAIC--8/freenet-ext-db4o.jar (based on SVN revision 21903) A few tips once you've got it set up: The db4o testing howto site is now out of date, you can get it working much more quickly. However, you may find it a useful source of testing material to download (see the end); my testing collection includes files listed on the db4o test site, a few other linux ISOs, a few FMS binaries/source files, some pages/images from the Ghost Town mirror, all the CD images from the Resources page on my flog, all the >2MB bibles on TCR and all the big audio zip files from a site linked from TCR. All in an under 128MB memory footprint and ~ 15% CPU. You can test with whatever you want, but bear in mind that ANY BUG REPORTS OR TEST RESULTS FROM USERS OBVIOUSLY ENGAGED IN COPYRIGHT INFRINGEMENT WILL BE IGNORED AND WILL LOSE THEIR RIGHT TO TECH SUPPORT! USK at hiBur-SUasOR-m7qzR2HmTDLGmVQTuZKzS7va2zUyhQ,lOXQvKathjQzrbAt4Wy~puFsVvmcUDzo5z2Y59isf2c,AQACAAE/db4o-testing-howto/5 CHK at Y7JTTsam8WgSGV5gdDmYq7nEGx6cLOV3MrHpXk3V2Us,HXWDlR9VXU0woUJu~gVpJMuhhpJpo9kwI8GFjJY~NUw,AAIC--8/mandriva-linux-free-2008-spring-cd1-i586.iso CHK at dYbLzaLYhOqVYfQcsJj5o91AwdctrbVwbJMU929P4-0,N5BUpWFeEfi5WpD49jB1XyIcmY-6SZiroUUg0~GOenA,AAIC--8/debian-40r3-i386-xfce-CD-1.iso CHK at 8WY4whItpoVvZN5HPuFi70YokL-ituk1W0Ogaqg~J4o,JJ587LGGbHi9zUqMJ~j1MqPVt0mDuD6uPeAk2fym3B8,AAIC--8/slackware-12.1-install-d1.iso CHK at 1xFD0Pes-2ON5fa2l0g1xCMH5jpRzpljk0n2ZMHZztc,uINsyVsBcuL-O5-ji7ReHiltouMSplUw-PxW1Tx8vLA,AAIC--8/ubuntu-8.04-desktop-i386.iso Finally, note that I may still have to change data structures in a way which will make upgrading to a new version of the branch impossible without deleting your node.db4o and thus wiping your download and upload queues. I will indicate when this is necessary when I post a new jar. Thanks, and looking forward to hearing from you! -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 827 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/tech/attachments/20080901/bbc90498/attachment.pgp>