webjay
webjay

Reputation: 5498

Neo4j file system tuning for high IO

On my Hetzner EX40-SSD server I would like to optimize Neo4j.

I've read that I can disable access-time updates for the database disk volume mount. Since the database is on the same volume as anything else, I wonder if I can still do so?

The server is also used for hosting Nodejs, so would noatime,nodiratime benefit in general?

Here's my fstab file:

$ cat /etc/fstab
proc /proc proc defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0

Upvotes: 0

Views: 357

Answers (2)

Regina Thompson
Regina Thompson

Reputation: 1

if you dont need logs file, add this to your fstab

tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0

also adjust your Swapiness to make sure no swap will be used

To change swappiness setting:

$ su -
# nano /etc/sysctl.conf

And add this line into sysctl.conf file.

vm.swappiness = 10

There are more tips I found from this page http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html

Upvotes: 0

Stefan Armbruster
Stefan Armbruster

Reputation: 39915

On systems with ssd noatime,nodiratime is a good idea. Additionally you may want to use TRIM, see e.g. https://sites.google.com/site/easylinuxtipsproject/ssd. https://wiki.archlinux.org/index.php/Solid_State_Drives contains a good writeup of SSD specifics as well.

To improve read performance on Neo4j you should not worry too much with file system settings and invest in caching as documented on http://docs.neo4j.org/chunked/stable/configuration-caches.html.

Upvotes: 1

Related Questions