Changed default number of threads and added auto value.

Changed default number of threads to 1 instead of autoconfigured value and
added a new `auto` variable which enables autoconfiguration of thread count.

The number of threads used when autoconfiguratio fails was changed from 4 to 1.

The default value of using N threads where N is the number of CPU cores was
not optimal as the possibility of rescheduling was higher the more utility
threads there were. Due to this, N-1 is deemed to be the better autoconfigured
value for thread count.
This commit is contained in:
Markus Makela
2015-12-14 11:56:34 +02:00
parent 1aef3d0eb7
commit 2de3c5788c

View File

@ -69,19 +69,20 @@ The global settings, in a section named `[MaxScale]`, allow various parameters t
#### `threads` #### `threads`
This parameter controls the number of worker threads that are handling the This parameter controls the number of worker threads that are handling the
events coming from the kernel. MaxScale will auto-detect the number of events coming from the kernel. The default is 1 thread. It is recommended that
processors of the system unless number of threads is manually configured. you start with one thread and increase the number if you require greater
It is recommended that you let MaxScale detect how many cores the system performance. Increasing the amount of worker threads beyond the number of
has and leave this parameter undefined. The number of used cores will be processor cores does not improve the performance, rather is likely to degrade
logged into the message logs and if you are not satisfied with the it, and can consume resources needlessly.
auto-detected value, you can manually configure it. Increasing the amount
of worker threads beyond the number of processor cores does not improve You can enable automatic configuration of this value by setting the value to
the performance, rather is likely to degrade it, and can consume resources `auto`. This way MaxScale will detect the number of available processors and
needlessly. set the amount of threads to be equal to that number. This should only be used
for systems dedicated for running MaxScale.
``` ```
# Valid options are: # Valid options are:
# threads=<number of epoll threads> # threads=[<number of threads> | auto ]
[MaxScale] [MaxScale]
threads=1 threads=1