diff --git a/.gitignore b/.gitignore index 4ec7a61bb3..98147e93dd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ server.state .idea data/ META-INF/MANIFEST.MF +gc.log +voldsys$_* diff --git a/bin/voldemort-prod-server.sh b/bin/voldemort-prod-server.sh new file mode 100755 index 0000000000..9455992945 --- /dev/null +++ b/bin/voldemort-prod-server.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# +# Copyright 2008-2013 LinkedIn, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# + +# +# Spin up the voldemort server(BDB-JE) with a production worthy JVM config +# +export VOLD_OPTS=" -server -Xms32684m -Xmx32684m -XX:NewSize=2048m -XX:MaxNewSize=2048m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=70 -XX:SurvivorRatio=2 -XX:+AlwaysPreTouch -XX:+UseCompressedOops -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime " +echo "WARNING: This setup spins up a kickass server for production/perftesting. Make SURE that you are running on a server class machine" +echo "Tip: Make sure you either disable swap or give your user permission to mlock the heap" +bin/voldemort-server.sh $@ diff --git a/config/prod_single_node_cluster/config/cluster.xml b/config/prod_single_node_cluster/config/cluster.xml new file mode 100644 index 0000000000..77a3b06d75 --- /dev/null +++ b/config/prod_single_node_cluster/config/cluster.xml @@ -0,0 +1,12 @@ + + myprodcluster + + 0 + localhost + 8081 + 6666 + 7777 + 0, 1 + + + diff --git a/config/prod_single_node_cluster/config/server.properties b/config/prod_single_node_cluster/config/server.properties new file mode 100644 index 0000000000..ea4e1e3c54 --- /dev/null +++ b/config/prod_single_node_cluster/config/server.properties @@ -0,0 +1,33 @@ +# The ID of *this* particular cluster node +node.id=0 + +# configs +admin.enable=true +admin.max.threads=40 +bdb.cache.evictln=true +bdb.cache.size=20GB +bdb.checkpoint.interval.bytes=2147483648 +bdb.checkpointer.off.batch.writes=true +bdb.cleaner.interval.bytes=15728640 +bdb.cleaner.lazy.migration=false +bdb.cleaner.min.file.utilization=0 +bdb.cleaner.threads=1 +bdb.enable=true +bdb.evict.by.level=true +bdb.expose.space.utilization=true +bdb.lock.nLockTables=47 +bdb.minimize.scan.impact=true +bdb.one.env.per.store=true +enable.server.routing=false +enable.verbose.logging=false +http.enable=true +nio.connector.selectors=50 +num.scan.permits=2 +request.format=vp3 +restore.data.timeout.sec=1314000 +scheduler.threads=24 +slop.frequency.ms=300000 +socket.enable=true +storage.configs=voldemort.store.bdb.BdbStorageConfiguration, voldemort.store.readonly.ReadOnlyStorageConfiguration +stream.read.byte.per.sec=209715200 +stream.write.byte.per.sec=78643200 diff --git a/config/prod_single_node_cluster/config/stores.xml b/config/prod_single_node_cluster/config/stores.xml new file mode 100644 index 0000000000..1a4351dee0 --- /dev/null +++ b/config/prod_single_node_cluster/config/stores.xml @@ -0,0 +1,19 @@ + + + test + bdb + Test store + harry@hogwarts.edu, hermoine@hogwarts.edu + consistent-routing + client + 1 + 1 + 1 + + string + + + string + + +