-
Notifications
You must be signed in to change notification settings - Fork 273
Tuning Linux & the JVM for Graph Databases
Tuning the Linux kernel, file system, and JVM options is important to get the best performance out of any database. Here are recommendations and guidelines for different Blueprints databases. These are general best practices, but as always, you may need to adjust them for your use case.
Here are some Java options recommended by @xedin ...
Tuning
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
Logging
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -Xloggc:/var/log/rexster-gc-date +%s.log
See https://github.com/tinkerpop/rexster/issues/271#issuecomment-13160693
ElasticSearch also recommends/defaults to pretty much the same options: https://github.com/elasticsearch/elasticsearch-servicewrapper/blob/master/service/elasticsearch.conf#L40
Here's a detailed post explaining them: http://jprante.github.io/2012/11/28/Elasticsearch-Java-Virtual-Machine-settings-explained.html