Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
6 GB RAM DDR3.
OS: Trisquel 7 (ubuntu derivative)
A priority should probably be to upgrade the RAM
But I have noticed that whenever the lag spikes occur, CPU usage peaks to 100% on one of the server cores. So maybe a RAM increase won't even fix this problem on its own?
edit: I have adjusted my minetest.conf according to this thread, that significantly reduced the lag spikes.
Switching the database backend of minetest can apparently give the server a huge performance increase. I found the Database backends page in the minetest wiki useful, but also a bit scarce on information.
The default database backend for minetest is SQLite3, which is "Acceptable" in Speed and Reliability. The two other ones, LevelDB and Redis are either "Good" or "Very Good" (see table on wiki page).
So which one to choose? LevelDB seems like the safest way to go, based on
But then a search for "leveldb minetest" returns mainly this post from LazyJ's blog, titled "LevelDB in Minetest is Just Not Worth it" which basically says that it's a terrible idea to use it.LevelDB is mostly used on servers because of its improved reliability and the ability to use more than 4 GB of space. You need to install it additionally.
In addition, I can't seem to find any documentation on how to install and activate LevelDB for minetest. Any further help and/or pointers on this would be greatly appreciated.
See also: Can SQLite3-databases NOT grow bigger than 4 gb? What would happen if they did?
In addition, a server with Redis database backend can run MTSatellite for a live webmap which is a huge plus in my opinion.
Redis also has more install instructions than the latter, but not much. I did find this thread, Database Backend Questions, extremely useful in this regard, especially the thorough walkthrough on the install reply by joshburt;