diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-06-18 12:39:30 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-06-18 15:21:44 -0500 |
commit | 93f5b416c9bf4cf5cb038dc98c4597642661d336 (patch) | |
tree | 95b24f43092aa1ff9b4ba218d500beb6275b99c9 | |
parent | a5cd85672466554ac27c41857a6ca1252b43db91 (diff) | |
download | couchdb-add-set-mqd-off-heap.tar.gz |
Call `set_mqd_off_heap` for critical processesadd-set-mqd-off-heap
This uses the new `couch_util:set_mqd_off_heap/0` function to set
message queues to off_heap for some of our critical processes that
receive a significant amount of load in terms of message volume.
-rw-r--r-- | src/couch/src/couch_server.erl | 2 | ||||
-rw-r--r-- | src/couch_log/src/couch_log_server.erl | 1 | ||||
-rw-r--r-- | src/ddoc_cache/src/ddoc_cache_lru.erl | 1 | ||||
-rw-r--r-- | src/mem3/src/mem3_shards.erl | 1 | ||||
-rw-r--r-- | src/rexi/src/rexi_server.erl | 1 |
5 files changed, 6 insertions, 0 deletions
diff --git a/src/couch/src/couch_server.erl b/src/couch/src/couch_server.erl index 05af0ed54..903eb09cd 100644 --- a/src/couch/src/couch_server.erl +++ b/src/couch/src/couch_server.erl @@ -210,6 +210,8 @@ close_db_if_idle(DbName) -> init([]) -> + couch_util:set_mqd_off_heap(), + % Mark pluggable storage engines as a supported feature config:enable_feature('pluggable-storage-engines'), diff --git a/src/couch_log/src/couch_log_server.erl b/src/couch_log/src/couch_log_server.erl index be44af8ff..ea5def891 100644 --- a/src/couch_log/src/couch_log_server.erl +++ b/src/couch_log/src/couch_log_server.erl @@ -58,6 +58,7 @@ log(Entry) -> init(_) -> + couch_util:set_mqd_off_heap(), process_flag(trap_exit, true), {ok, #st{ writer = couch_log_writer:init() diff --git a/src/ddoc_cache/src/ddoc_cache_lru.erl b/src/ddoc_cache/src/ddoc_cache_lru.erl index e94934d04..248a76dc8 100644 --- a/src/ddoc_cache/src/ddoc_cache_lru.erl +++ b/src/ddoc_cache/src/ddoc_cache_lru.erl @@ -87,6 +87,7 @@ refresh(DbName, DDocIds) -> init(_) -> + couch_util:set_mqd_off_heap(), process_flag(trap_exit, true), BaseOpts = [public, named_table], CacheOpts = [ diff --git a/src/mem3/src/mem3_shards.erl b/src/mem3/src/mem3_shards.erl index c84b87397..da3b69a61 100644 --- a/src/mem3/src/mem3_shards.erl +++ b/src/mem3/src/mem3_shards.erl @@ -184,6 +184,7 @@ handle_config_terminate(_Server, _Reason, _State) -> erlang:send_after(?RELISTEN_DELAY, whereis(?MODULE), restart_config_listener). init([]) -> + couch_util:set_mqd_off_heap(), ets:new(?SHARDS, [ bag, public, diff --git a/src/rexi/src/rexi_server.erl b/src/rexi/src/rexi_server.erl index 3d3f272e4..954ca88cb 100644 --- a/src/rexi/src/rexi_server.erl +++ b/src/rexi/src/rexi_server.erl @@ -39,6 +39,7 @@ start_link(ServerId) -> gen_server:start_link({local, ServerId}, ?MODULE, [], []). init([]) -> + couch_util:set_mqd_off_heap(), {ok, #st{}}. handle_call(get_errors, _From, #st{errors = Errors} = St) -> |