Skip to content

Commit da2e0bf

Browse files
Merge pull request rabbitmq#873 from rabbitmq/rabbitmq-server-612
Tune scheduling bind flags for Erlang VM
2 parents f091ba4 + b36f790 commit da2e0bf

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

scripts/rabbitmq-env

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ RABBITMQ_HOME="$(rmq_realpath "${RABBITMQ_SCRIPTS_DIR}/..")"
6262
## Set defaults
6363
. ${RABBITMQ_SCRIPTS_DIR}/rabbitmq-defaults
6464

65+
DEFAULT_SCHEDULER_BIND_TYPE="db"
66+
[ "x" = "x$RABBITMQ_SCHEDULER_BIND_TYPE" ] && RABBITMQ_SCHEDULER_BIND_TYPE=${DEFAULT_SCHEDULER_BIND_TYPE}
67+
6568
## Common defaults
66-
SERVER_ERL_ARGS="+P 1048576"
69+
SERVER_ERL_ARGS="+P 1048576 +stbt $RABBITMQ_SCHEDULER_BIND_TYPE "
6770

6871
# We save the current value of $RABBITMQ_PID_FILE in case it was set by
6972
# an init script. If $CONF_ENV_FILE overrides it again, we must ignore

scripts/rabbitmq-env.bat

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,23 @@ REM ## Set defaults
3030
REM . ${SCRIPT_DIR}/rabbitmq-defaults
3131
call "%SCRIPT_DIR%\rabbitmq-defaults.bat"
3232

33-
REM These common defaults aren't referenced in the batch scripts
34-
REM ## Common defaults
35-
REM SERVER_ERL_ARGS="+P 1048576"
36-
REM
33+
set DEFAULT_SCHEDULER_BIND_TYPE=db
34+
35+
REM [ "x" = "x$RABBITMQ_SCHEDULER_BIND_TYPE" ] && RABBITMQ_SCHEDULER_BIND_TYPE=${DEFAULT_SCHEDULER_BIND_TYPE}
36+
REM set the default scheduling bind type
37+
if "!RABBITMQ_SCHEDULER_BIND_TYPE!"=="" (
38+
set RABBITMQ_SCHEDULER_BIND_TYPE=!DEFAULT_SCHEDULER_BIND_TYPE!
39+
)
40+
3741
REM # warn about old rabbitmq.conf file, if no new one
3842
REM if [ -f /etc/rabbitmq/rabbitmq.conf ] && \
3943
REM [ ! -f ${CONF_ENV_FILE} ] ; then
4044
REM echo -n "WARNING: ignoring /etc/rabbitmq/rabbitmq.conf -- "
4145
REM echo "location has moved to ${CONF_ENV_FILE}"
4246
REM fi
4347

44-
REM ERL_ARGS aren't referenced in the batch scripts
4548
REM Common defaults
46-
REM set SERVER_ERL_ARGS=+P 1048576
49+
set SERVER_ERL_ARGS=+P 1048576 +stbt !RABBITMQ_SCHEDULER_BIND_TYPE!
4750

4851
REM ## Get configuration variables from the configure environment file
4952
REM [ -f ${CONF_ENV_FILE} ] && . ${CONF_ENV_FILE} || true
@@ -151,7 +154,9 @@ if "!RABBITMQ_DIST_PORT!"=="" (
151154
)
152155

153156
REM [ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS=${SERVER_ERL_ARGS}
154-
REM No Windows equivalent
157+
if "!RABBITMQ_SERVER_ERL_ARGS!"=="" (
158+
set RABBITMQ_SERVER_ERL_ARGS=!SERVER_ERL_ARGS!
159+
)
155160

156161
REM [ "x" = "x$RABBITMQ_CONFIG_FILE" ] && RABBITMQ_CONFIG_FILE=${CONFIG_FILE}
157162
if "!RABBITMQ_CONFIG_FILE!"=="" (

scripts/rabbitmq-server.bat

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,8 @@ if "!ENV_OK!"=="false" (
120120
!RABBITMQ_NAME_TYPE! !RABBITMQ_NODENAME! ^
121121
+W w ^
122122
+A "!RABBITMQ_IO_THREAD_POOL_SIZE!" ^
123-
+P 1048576 ^
124-
!RABBITMQ_LISTEN_ARG! ^
125123
!RABBITMQ_SERVER_ERL_ARGS! ^
124+
!RABBITMQ_LISTEN_ARG! ^
126125
-kernel inet_default_connect_options "[{nodelay, true}]" ^
127126
!RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS! ^
128127
-sasl errlog_type error ^

scripts/rabbitmq-service.bat

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,8 @@ set ERLANG_SERVICE_ARGUMENTS= ^
180180
!RABBITMQ_CONFIG_ARG! ^
181181
+W w ^
182182
+A "!RABBITMQ_IO_THREAD_POOL_SIZE!" ^
183-
+P 1048576 ^
184-
!RABBITMQ_LISTEN_ARG! ^
185183
!RABBITMQ_SERVER_ERL_ARGS! ^
184+
!RABBITMQ_LISTEN_ARG! ^
186185
-kernel inet_default_connect_options "[{nodelay,true}]" ^
187186
!RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS! ^
188187
-sasl errlog_type error ^

0 commit comments

Comments
 (0)