rm app.config
This commit is contained in:
parent
97ea3623c1
commit
712baa525c
|
@ -1,308 +0,0 @@
|
||||||
% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
|
||||||
%% ex: ft=erlang ts=4 sw=4 et
|
|
||||||
[{kernel, [
|
|
||||||
{start_timer, true},
|
|
||||||
{start_pg2, true}
|
|
||||||
]},
|
|
||||||
{sasl, [
|
|
||||||
{sasl_error_logger, {file, "log/emqttd_sasl.log"}}
|
|
||||||
]},
|
|
||||||
{ssl, [
|
|
||||||
%{versions, ['tlsv1.2', 'tlsv1.1']}
|
|
||||||
]},
|
|
||||||
{lager, [
|
|
||||||
{colored, true},
|
|
||||||
{async_threshold, 1000},
|
|
||||||
{error_logger_redirect, false},
|
|
||||||
{crash_log, "log/emqttd_crash.log"},
|
|
||||||
{handlers, [
|
|
||||||
{lager_console_backend, info},
|
|
||||||
%%NOTICE: Level >= error
|
|
||||||
%%{lager_emqtt_backend, error},
|
|
||||||
{lager_file_backend, [
|
|
||||||
{formatter_config, [time, " ", pid, " [",severity,"] ", message, "\n"]},
|
|
||||||
{file, "log/emqttd_info.log"},
|
|
||||||
{level, info},
|
|
||||||
{size, 104857600},
|
|
||||||
{date, "$D0"},
|
|
||||||
{count, 30}
|
|
||||||
]},
|
|
||||||
{lager_file_backend, [
|
|
||||||
{formatter_config, [time, " ", pid, " [",severity,"] ", message, "\n"]},
|
|
||||||
{file, "log/emqttd_error.log"},
|
|
||||||
{level, error},
|
|
||||||
{size, 104857600},
|
|
||||||
{date, "$D0"},
|
|
||||||
{count, 30}
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
{esockd, [
|
|
||||||
{logger, {lager, info}}
|
|
||||||
]},
|
|
||||||
{emqttd, [
|
|
||||||
%% Authentication and Authorization
|
|
||||||
{access, [
|
|
||||||
%% Authetication. Anonymous Default
|
|
||||||
{auth, [
|
|
||||||
%% Authentication with username, password
|
|
||||||
%{username, []},
|
|
||||||
|
|
||||||
%% Authentication with clientid
|
|
||||||
%{clientid, [{password, no}, {file, "etc/clients.config"}]},
|
|
||||||
|
|
||||||
%% Authentication with LDAP
|
|
||||||
% {ldap, [
|
|
||||||
% {servers, ["localhost"]},
|
|
||||||
% {port, 389},
|
|
||||||
% {timeout, 30},
|
|
||||||
% {user_dn, "uid=$u,ou=People,dc=example,dc=com"},
|
|
||||||
% {ssl, fasle},
|
|
||||||
% {sslopts, [
|
|
||||||
% {"certfile", "ssl.crt"},
|
|
||||||
% {"keyfile", "ssl.key"}]}
|
|
||||||
% ]},
|
|
||||||
|
|
||||||
%% Allow all
|
|
||||||
{anonymous, []}
|
|
||||||
]},
|
|
||||||
%% ACL config
|
|
||||||
{acl, [
|
|
||||||
%% Internal ACL module
|
|
||||||
{internal, [{file, "etc/acl.config"}, {nomatch, allow}]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% MQTT Protocol Options
|
|
||||||
{mqtt, [
|
|
||||||
%% Packet
|
|
||||||
{packet, [
|
|
||||||
%% Max ClientId Length Allowed
|
|
||||||
{max_clientid_len, 1024},
|
|
||||||
%% Max Packet Size Allowed, 64K default
|
|
||||||
{max_packet_size, 65536}
|
|
||||||
]},
|
|
||||||
%% Client
|
|
||||||
{client, [
|
|
||||||
%% Socket is connected, but no 'CONNECT' packet received
|
|
||||||
{idle_timeout, 10} %% seconds
|
|
||||||
%TODO: Network ingoing limit
|
|
||||||
%{ingoing_rate_limit, '64KB/s'}
|
|
||||||
%TODO: Reconnet control
|
|
||||||
]},
|
|
||||||
%% Session
|
|
||||||
{session, [
|
|
||||||
%% Max number of QoS 1 and 2 messages that can be “in flight” at one time.
|
|
||||||
%% 0 means no limit
|
|
||||||
{max_inflight, 100},
|
|
||||||
|
|
||||||
%% Retry interval for redelivering QoS1/2 messages.
|
|
||||||
{unack_retry_interval, 20},
|
|
||||||
|
|
||||||
%% Awaiting PUBREL Timeout
|
|
||||||
{await_rel_timeout, 20},
|
|
||||||
|
|
||||||
%% Max Packets that Awaiting PUBREL, 0 means no limit
|
|
||||||
{max_awaiting_rel, 0},
|
|
||||||
|
|
||||||
%% Statistics Collection Interval(seconds)
|
|
||||||
{collect_interval, 20},
|
|
||||||
|
|
||||||
%% Expired after 2 days
|
|
||||||
{expired_after, 48}
|
|
||||||
|
|
||||||
]},
|
|
||||||
%% Session
|
|
||||||
{queue, [
|
|
||||||
%% Max queue length. enqueued messages when persistent client disconnected,
|
|
||||||
%% or inflight window is full.
|
|
||||||
{max_length, 100},
|
|
||||||
|
|
||||||
%% Low-water mark of queued messages
|
|
||||||
{low_watermark, 0.2},
|
|
||||||
|
|
||||||
%% High-water mark of queued messages
|
|
||||||
{high_watermark, 0.6},
|
|
||||||
|
|
||||||
%% Queue Qos0 messages?
|
|
||||||
{queue_qos0, true}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% Broker Options
|
|
||||||
{broker, [
|
|
||||||
%% System interval of publishing broker $SYS messages
|
|
||||||
{sys_interval, 60},
|
|
||||||
|
|
||||||
%% Retained messages
|
|
||||||
{retained, [
|
|
||||||
%% Expired after seconds, never expired if 0
|
|
||||||
{expired_after, 0},
|
|
||||||
|
|
||||||
%% Max number of retained messages
|
|
||||||
{max_message_num, 100000},
|
|
||||||
|
|
||||||
%% Max Payload Size of retained message
|
|
||||||
{max_playload_size, 65536}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% PubSub and Router
|
|
||||||
{pubsub, [
|
|
||||||
%% Default should be scheduler numbers
|
|
||||||
{pool_size, 8},
|
|
||||||
|
|
||||||
%% Subscription: disc | ram | false
|
|
||||||
{subscription, ram},
|
|
||||||
|
|
||||||
%% Route shard
|
|
||||||
{route_shard, false},
|
|
||||||
|
|
||||||
%% Route delay, false | integer
|
|
||||||
{route_delay, false},
|
|
||||||
|
|
||||||
%% Route aging time(seconds)
|
|
||||||
{route_aging, 5}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Bridge
|
|
||||||
{bridge, [
|
|
||||||
%%TODO: bridge queue size
|
|
||||||
{max_queue_len, 10000},
|
|
||||||
|
|
||||||
%% Ping Interval of bridge node
|
|
||||||
{ping_down_interval, 1} %seconds
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% Modules
|
|
||||||
{modules, [
|
|
||||||
%% Client presence management module.
|
|
||||||
%% Publish messages when client connected or disconnected
|
|
||||||
{presence, [{qos, 0}]},
|
|
||||||
|
|
||||||
%% Subscribe topics automatically when client connected
|
|
||||||
{subscription, [
|
|
||||||
%% Subscription from stored table
|
|
||||||
stored,
|
|
||||||
|
|
||||||
%% $u will be replaced with username
|
|
||||||
{"$Q/username/$u", 1},
|
|
||||||
|
|
||||||
%% $c will be replaced with clientid
|
|
||||||
{"$Q/client/$c", 1}
|
|
||||||
]}
|
|
||||||
|
|
||||||
%% Rewrite rules
|
|
||||||
%% {rewrite, [{file, "etc/rewrite.config"}]}
|
|
||||||
]},
|
|
||||||
%% Plugins
|
|
||||||
{plugins, [
|
|
||||||
%% Plugin App Library Dir
|
|
||||||
{plugins_dir, "./plugins"},
|
|
||||||
|
|
||||||
%% File to store loaded plugin names.
|
|
||||||
{loaded_file, "./data/loaded_plugins"}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Listeners
|
|
||||||
{listeners, [
|
|
||||||
{mqtt, 1883, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 16},
|
|
||||||
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 512},
|
|
||||||
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
|
|
||||||
%% Connection Options
|
|
||||||
{connopts, [
|
|
||||||
%% Rate Limit. Format is 'burst, rate', Unit is KB/Sec
|
|
||||||
%% {rate_limit, "100,10"} %% 100K burst, 10K rate
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
%Set buffer if hight thoughtput
|
|
||||||
%{recbuf, 4096},
|
|
||||||
%{sndbuf, 4096},
|
|
||||||
%{buffer, 4096},
|
|
||||||
%{nodelay, true},
|
|
||||||
{backlog, 512}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
|
|
||||||
{mqtts, 8883, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 4},
|
|
||||||
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 512},
|
|
||||||
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
|
|
||||||
%% SSL certificate and key files
|
|
||||||
{ssl, [{certfile, "etc/ssl/ssl.crt"},
|
|
||||||
{keyfile, "etc/ssl/ssl.key"}]},
|
|
||||||
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
{backlog, 1024}
|
|
||||||
%{buffer, 4096},
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% WebSocket over HTTPS Listener
|
|
||||||
%% {https, 8083, [
|
|
||||||
%% %% Size of acceptor pool
|
|
||||||
%% {acceptors, 4},
|
|
||||||
%% %% Maximum number of concurrent clients
|
|
||||||
%% {max_clients, 512},
|
|
||||||
%% %% Socket Access Control
|
|
||||||
%% {access, [{allow, all}]},
|
|
||||||
%% %% SSL certificate and key files
|
|
||||||
%% {ssl, [{certfile, "etc/ssl/ssl.crt"},
|
|
||||||
%% {keyfile, "etc/ssl/ssl.key"}]},
|
|
||||||
%% %% Socket Options
|
|
||||||
%% {sockopts, [
|
|
||||||
%% %{buffer, 4096},
|
|
||||||
%% {backlog, 1024}
|
|
||||||
%% ]}
|
|
||||||
%%]},
|
|
||||||
|
|
||||||
%% HTTP and WebSocket Listener
|
|
||||||
{http, 8083, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 4},
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 64},
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
{backlog, 1024}
|
|
||||||
%{buffer, 4096},
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Erlang System Monitor
|
|
||||||
{sysmon, [
|
|
||||||
%% Long GC
|
|
||||||
{long_gc, 100},
|
|
||||||
|
|
||||||
%% Long Schedule(ms)
|
|
||||||
{long_schedule, 100},
|
|
||||||
|
|
||||||
%% 8M words. 32MB on 32-bit VM, 64MB on 64-bit VM.
|
|
||||||
%% 8 * 1024 * 1024
|
|
||||||
{large_heap, 8388608},
|
|
||||||
|
|
||||||
%% Busy Port
|
|
||||||
{busy_port, true},
|
|
||||||
|
|
||||||
%% Busy Dist Port
|
|
||||||
{busy_dist_port, true}
|
|
||||||
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
].
|
|
||||||
|
|
|
@ -1,301 +0,0 @@
|
||||||
% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
|
||||||
%% ex: ft=erlang ts=4 sw=4 et
|
|
||||||
[{kernel, [
|
|
||||||
{start_timer, true},
|
|
||||||
{start_pg2, true}
|
|
||||||
]},
|
|
||||||
{sasl, [
|
|
||||||
{sasl_error_logger, {file, "log/emqttd_sasl.log"}}
|
|
||||||
]},
|
|
||||||
{ssl, [
|
|
||||||
%{versions, ['tlsv1.2', 'tlsv1.1']}
|
|
||||||
]},
|
|
||||||
{lager, [
|
|
||||||
{colored, true},
|
|
||||||
{async_threshold, 5000},
|
|
||||||
{error_logger_redirect, false},
|
|
||||||
{crash_log, "log/emqttd_crash.log"},
|
|
||||||
{handlers, [
|
|
||||||
%%{lager_console_backend, info},
|
|
||||||
%%NOTICE: Level >= error
|
|
||||||
%%{lager_emqtt_backend, error},
|
|
||||||
{lager_file_backend, [
|
|
||||||
{formatter_config, [time, " ", pid, " [",severity,"] ", message, "\n"]},
|
|
||||||
{file, "log/emqttd_error.log"},
|
|
||||||
{level, error},
|
|
||||||
{size, 104857600},
|
|
||||||
{date, "$D0"},
|
|
||||||
{count, 30}
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
{esockd, [
|
|
||||||
{logger, {lager, error}}
|
|
||||||
]},
|
|
||||||
{emqttd, [
|
|
||||||
%% Authentication and Authorization
|
|
||||||
{access, [
|
|
||||||
%% Authetication. Anonymous Default
|
|
||||||
{auth, [
|
|
||||||
%% Authentication with username, password
|
|
||||||
%{username, []},
|
|
||||||
|
|
||||||
%% Authentication with clientid
|
|
||||||
%{clientid, [{password, no}, {file, "etc/clients.config"}]},
|
|
||||||
|
|
||||||
%% Authentication with LDAP
|
|
||||||
% {ldap, [
|
|
||||||
% {servers, ["localhost"]},
|
|
||||||
% {port, 389},
|
|
||||||
% {timeout, 30},
|
|
||||||
% {user_dn, "uid=$u,ou=People,dc=example,dc=com"},
|
|
||||||
% {ssl, fasle},
|
|
||||||
% {sslopts, [
|
|
||||||
% {"certfile", "ssl.crt"},
|
|
||||||
% {"keyfile", "ssl.key"}]}
|
|
||||||
% ]},
|
|
||||||
|
|
||||||
%% Allow all
|
|
||||||
{anonymous, []}
|
|
||||||
]},
|
|
||||||
%% ACL config
|
|
||||||
{acl, [
|
|
||||||
%% Internal ACL module
|
|
||||||
{internal, [{file, "etc/acl.config"}, {nomatch, allow}]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% MQTT Protocol Options
|
|
||||||
{mqtt, [
|
|
||||||
%% Packet
|
|
||||||
{packet, [
|
|
||||||
%% Max ClientId Length Allowed
|
|
||||||
{max_clientid_len, 1024},
|
|
||||||
%% Max Packet Size Allowed, 64K default
|
|
||||||
{max_packet_size, 65536}
|
|
||||||
]},
|
|
||||||
%% Client
|
|
||||||
{client, [
|
|
||||||
%% Socket is connected, but no 'CONNECT' packet received
|
|
||||||
{idle_timeout, 20} %% seconds
|
|
||||||
%TODO: Network ingoing limit
|
|
||||||
%{ingoing_rate_limit, '64KB/s'}
|
|
||||||
%TODO: Reconnet control
|
|
||||||
]},
|
|
||||||
%% Session
|
|
||||||
{session, [
|
|
||||||
%% Max number of QoS 1 and 2 messages that can be “in flight” at one time.
|
|
||||||
%% 0 means no limit
|
|
||||||
{max_inflight, 100},
|
|
||||||
|
|
||||||
%% Retry interval for redelivering QoS1/2 messages.
|
|
||||||
{unack_retry_interval, 60},
|
|
||||||
|
|
||||||
%% Awaiting PUBREL Timeout
|
|
||||||
{await_rel_timeout, 20},
|
|
||||||
|
|
||||||
%% Max Packets that Awaiting PUBREL, 0 means no limit
|
|
||||||
{max_awaiting_rel, 0},
|
|
||||||
|
|
||||||
%% Statistics Collection Interval(seconds)
|
|
||||||
{collect_interval, 0},
|
|
||||||
|
|
||||||
%% Expired after 2 days
|
|
||||||
{expired_after, 48}
|
|
||||||
|
|
||||||
]},
|
|
||||||
%% Session
|
|
||||||
{queue, [
|
|
||||||
%% Max queue length. enqueued messages when persistent client disconnected,
|
|
||||||
%% or inflight window is full.
|
|
||||||
{max_length, 100},
|
|
||||||
|
|
||||||
%% Low-water mark of queued messages
|
|
||||||
{low_watermark, 0.2},
|
|
||||||
|
|
||||||
%% High-water mark of queued messages
|
|
||||||
{high_watermark, 0.6},
|
|
||||||
|
|
||||||
%% Queue Qos0 messages?
|
|
||||||
{queue_qos0, true}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% Broker Options
|
|
||||||
{broker, [
|
|
||||||
%% System interval of publishing broker $SYS messages
|
|
||||||
{sys_interval, 60},
|
|
||||||
|
|
||||||
%% Retained messages
|
|
||||||
{retained, [
|
|
||||||
%% Expired after seconds, never expired if 0
|
|
||||||
{expired_after, 0},
|
|
||||||
|
|
||||||
%% Max number of retained messages
|
|
||||||
{max_message_num, 100000},
|
|
||||||
|
|
||||||
%% Max Payload Size of retained message
|
|
||||||
{max_playload_size, 65536}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% PubSub and Router
|
|
||||||
{pubsub, [
|
|
||||||
%% Default should be scheduler numbers
|
|
||||||
%% {pool_size, 8},
|
|
||||||
|
|
||||||
%% Subscription: disc | ram | false
|
|
||||||
{subscription, ram},
|
|
||||||
|
|
||||||
%% Route shard
|
|
||||||
{route_shard, false},
|
|
||||||
|
|
||||||
%% Route delay, false | integer
|
|
||||||
{route_delay, false},
|
|
||||||
|
|
||||||
%% Route aging time(seconds)
|
|
||||||
{route_aging, 5}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Bridge
|
|
||||||
{bridge, [
|
|
||||||
%%TODO: bridge queue size
|
|
||||||
{max_queue_len, 10000},
|
|
||||||
|
|
||||||
%% Ping Interval of bridge node
|
|
||||||
{ping_down_interval, 1} %seconds
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% Modules
|
|
||||||
{modules, [
|
|
||||||
%% Client presence management module.
|
|
||||||
%% Publish messages when client connected or disconnected
|
|
||||||
{presence, [{qos, 0}]}
|
|
||||||
|
|
||||||
%% Subscribe topics automatically when client connected
|
|
||||||
%% {subscription, [
|
|
||||||
%% %% Subscription from stored table
|
|
||||||
%% stored,
|
|
||||||
%%
|
|
||||||
%% %% $u will be replaced with username
|
|
||||||
%% {"$Q/username/$u", 1},
|
|
||||||
%%
|
|
||||||
%% %% $c will be replaced with clientid
|
|
||||||
%% {"$Q/client/$c", 1}
|
|
||||||
%% ]}
|
|
||||||
|
|
||||||
%% Rewrite rules
|
|
||||||
%% {rewrite, [{file, "etc/rewrite.config"}]}
|
|
||||||
]},
|
|
||||||
%% Plugins
|
|
||||||
{plugins, [
|
|
||||||
%% Plugin App Library Dir
|
|
||||||
{plugins_dir, "./plugins"},
|
|
||||||
|
|
||||||
%% File to store loaded plugin names.
|
|
||||||
{loaded_file, "./data/loaded_plugins"}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Listeners
|
|
||||||
{listeners, [
|
|
||||||
{mqtt, 1883, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 16},
|
|
||||||
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 8192},
|
|
||||||
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
|
|
||||||
%% Connection Options
|
|
||||||
{connopts, [
|
|
||||||
%% Rate Limit. Format is 'burst, rate', Unit is KB/Sec
|
|
||||||
%% {rate_limit, "100,10"} %% 100K burst, 10K rate
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
%Set buffer if hight thoughtput
|
|
||||||
%{recbuf, 4096},
|
|
||||||
%{sndbuf, 4096},
|
|
||||||
%{buffer, 4096},
|
|
||||||
%{nodelay, true},
|
|
||||||
{backlog, 1024}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
|
|
||||||
{mqtts, 8883, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 4},
|
|
||||||
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 512},
|
|
||||||
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
|
|
||||||
%% SSL certificate and key files
|
|
||||||
{ssl, [{certfile, "etc/ssl/ssl.crt"},
|
|
||||||
{keyfile, "etc/ssl/ssl.key"}]},
|
|
||||||
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
{backlog, 1024}
|
|
||||||
%{buffer, 4096},
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
%% WebSocket over HTTPS Listener
|
|
||||||
%% {https, 8083, [
|
|
||||||
%% %% Size of acceptor pool
|
|
||||||
%% {acceptors, 4},
|
|
||||||
%% %% Maximum number of concurrent clients
|
|
||||||
%% {max_clients, 512},
|
|
||||||
%% %% Socket Access Control
|
|
||||||
%% {access, [{allow, all}]},
|
|
||||||
%% %% SSL certificate and key files
|
|
||||||
%% {ssl, [{certfile, "etc/ssl/ssl.crt"},
|
|
||||||
%% {keyfile, "etc/ssl/ssl.key"}]},
|
|
||||||
%% %% Socket Options
|
|
||||||
%% {sockopts, [
|
|
||||||
%% %{buffer, 4096},
|
|
||||||
%% {backlog, 1024}
|
|
||||||
%% ]}
|
|
||||||
%%]},
|
|
||||||
|
|
||||||
%% HTTP and WebSocket Listener
|
|
||||||
{http, 8083, [
|
|
||||||
%% Size of acceptor pool
|
|
||||||
{acceptors, 4},
|
|
||||||
%% Maximum number of concurrent clients
|
|
||||||
{max_clients, 64},
|
|
||||||
%% Socket Access Control
|
|
||||||
{access, [{allow, all}]},
|
|
||||||
%% Socket Options
|
|
||||||
{sockopts, [
|
|
||||||
{backlog, 1024}
|
|
||||||
%{buffer, 4096},
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
]},
|
|
||||||
|
|
||||||
%% Erlang System Monitor
|
|
||||||
{sysmon, [
|
|
||||||
%% Long GC, don't monitor in production mode for:
|
|
||||||
%% https://github.com/erlang/otp/blob/feb45017da36be78d4c5784d758ede619fa7bfd3/erts/emulator/beam/erl_gc.c#L421
|
|
||||||
{long_gc, false},
|
|
||||||
|
|
||||||
%% Long Schedule(ms)
|
|
||||||
{long_schedule, 240},
|
|
||||||
|
|
||||||
%% 8M words. 32MB on 32-bit VM, 64MB on 64-bit VM.
|
|
||||||
%% 8 * 1024 * 1024
|
|
||||||
{large_heap, 8388608},
|
|
||||||
|
|
||||||
%% Busy Port
|
|
||||||
{busy_port, false},
|
|
||||||
|
|
||||||
%% Busy Dist Port
|
|
||||||
{busy_dist_port, true}
|
|
||||||
|
|
||||||
]}
|
|
||||||
]}
|
|
||||||
].
|
|
||||||
|
|
Loading…
Reference in New Issue