After some initial performance struggles the Minetest server works perfectly now. I have achieved the biggest improvement by changing sqlite_synchronous = 2 to sqlite_synchronous = 0. Full synchronous (2) is a very safe way to write data to the underlying SQLite database but is also very slow in comparison to synchronous OFF (0). I think the trade-off between data safety and performance is justified in this case because all data is backed up regularly. I have not found any information about the reliability of the LEVELDB backend and some sources even claim that it is less stable than SQLite and also not much faster.
The player cap was raised to 16 slots and I installed three additional mods moreores, moreblocks and a Munin mod. The last mod creates some nice graphs showing player cap, connected players and the current maximum lag.
I have rescheduled the daily backups to 06:45 UTC and the server needs to be stopped for a few seconds to avoid corrupting the backup database.
I also prepared a new revision for the official Debian server package of Minetest, 0.4.10+repack-3, and added systemd service files, SysV init scripts, logrotate support and a special template unit file for systemd. That means administrators should be able to easily setup, run and monitor multiple servers controlled by a non-privileged, systemd-wide user from now on.
path: /news | permanent link to this entry