Skip to content

Commit

Permalink
Performance improvements (#5)
Browse files Browse the repository at this point in the history
* enable delayed commits, nodelay

* add ramdisk
  • Loading branch information
langalex authored Mar 23, 2020
1 parent 60db9bc commit 66c00fb
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
#!/bin/sh

echo "Starting Docker..."
sh -c "docker run -d -p 5984:5984 -p 5986:5986 couchdb:$INPUT_COUCHDB_VERSION"
sh -c "docker run -d -p 5984:5984 -p 5986:5986 --tmpfs /ram_disk couchdb:$INPUT_COUCHDB_VERSION"

# CouchDB container name
export NAME=`docker ps --format "{{.Names}}" --last 1`

# Enable delayed commits for better performance
echo "Enabling delayed commits..."
docker exec $NAME mkdir -p /opt/couchdb/etc/local.d
docker exec $NAME sh -c 'echo "[couchdb]\ndelayed_commits = true" >> /opt/couchdb/etc/local.d/01-delayed-commits.ini'

echo "Setting nodelay option"
docker exec $NAME sh -c 'echo "[httpd]\nsocket_options = [{nodelay, true}]" >> /opt/couchdb/etc/local.d/02-performance.ini'

echo "Configuring CouchDB to use RAM disk"
docker exec $NAME sh -c 'echo "[couchdb]\ndatabase_dir = /ram_disk\nview_index_dir = /ram_disk" >> /opt/couchdb/etc/local.d/03-ram-disk.ini'

# Enable Erlang query server
if [ "$INPUT_ERLANG_QUERY_SERVER" = 'true' ]
then
echo "Enabling Erlang query server..."
docker exec $NAME mkdir -p /opt/couchdb/etc/local.d
docker exec $NAME sh -c 'echo "[native_query_servers]\nerlang = {couch_native_process, start_link, []}" >> /opt/couchdb/etc/local.d/15-erlang-query-server.ini'
fi

Expand Down

0 comments on commit 66c00fb

Please sign in to comment.