public static interface ConcurrencyManager.Options extends IServiceShutdown.Options
ConcurrentManager
.Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_READ_SERVICE_CORE_POOL_SIZE
The default #of threads in the read service thread pool.
|
static String |
DEFAULT_TX_SERVICE_CORE_POOL_SIZE
The default #of threads in the transaction service thread pool.
|
static String |
DEFAULT_WRITE_SERVICE_CORE_POOL_SIZE
The default minimum #of threads in the write service thread pool.
|
static String |
DEFAULT_WRITE_SERVICE_GROUP_COMMIT_TIMEOUT |
static String |
DEFAULT_WRITE_SERVICE_KEEP_ALIVE_TIME |
static String |
DEFAULT_WRITE_SERVICE_MAXIMUM_POOL_SIZE
The default for the maximum #of threads in the write service thread
pool.
|
static String |
DEFAULT_WRITE_SERVICE_OVERFLOW_LOCK_REQUEST_TIMEOUT |
static String |
DEFAULT_WRITE_SERVICE_PRESTART_ALL_CORE_THREADS
The default for
WRITE_SERVICE_PRESTART_ALL_CORE_THREADS . |
static String |
DEFAULT_WRITE_SERVICE_QUEUE_CAPACITY
The default maximum depth of the write service queue (0).
|
static String |
READ_SERVICE_CORE_POOL_SIZE
The #of threads in the pool handling concurrent unisolated read
requests on named indices -or- ZERO (0) if the size of the thread
pool is not fixed (default is
0 ). |
static String |
TX_SERVICE_CORE_POOL_SIZE
The #of threads in the pool handling concurrent transactions.
|
static String |
WRITE_SERVICE_CORE_POOL_SIZE
The minimum #of threads in the pool handling concurrent unisolated
write on named indices (default is
"10").
|
static String |
WRITE_SERVICE_GROUP_COMMIT_TIMEOUT
The timeout in milliseconds that the the
WriteExecutorService
will await other tasks to join the commit group (default
"100"). |
static String |
WRITE_SERVICE_KEEP_ALIVE_TIME
The time in milliseconds that the
WriteExecutorService will
keep alive excess worker threads (those beyond the core pool size). |
static String |
WRITE_SERVICE_MAXIMUM_POOL_SIZE
The maximum #of threads allowed in the pool handling concurrent
unisolated write on named indices (default is
"10".
|
static String |
WRITE_SERVICE_OVERFLOW_LOCK_REQUEST_TIMEOUT
The time in milliseconds that a group commit will await an exclusive
lock on the write service in order to perform synchronous overflow
processing (default
"120000").
|
static String |
WRITE_SERVICE_PRESTART_ALL_CORE_THREADS
When true, the write service will be prestart all of its worker
threads (default
"false").
|
static String |
WRITE_SERVICE_QUEUE_CAPACITY
The maximum capacity of the write service queue before newly
submitted tasks will be rejected -or- ZERO (0) to use a
SynchronousQueue (default
). |
DEFAULT_SHUTDOWN_TIMEOUT, SHUTDOWN_TIMEOUT
static final String TX_SERVICE_CORE_POOL_SIZE
DEFAULT_TX_SERVICE_CORE_POOL_SIZE
static final String DEFAULT_TX_SERVICE_CORE_POOL_SIZE
static final String READ_SERVICE_CORE_POOL_SIZE
0
).DEFAULT_READ_SERVICE_CORE_POOL_SIZE
static final String DEFAULT_READ_SERVICE_CORE_POOL_SIZE
static final String WRITE_SERVICE_CORE_POOL_SIZE
WRITE_SERVICE_MAXIMUM_POOL_SIZE
.
The main factor that influences the throughput of group commit is the
potential concurrency of the submitted
ITx.UNISOLATED
tasks (both how many can be submitted in
parallel by the application and how many can run concurrency - tasks
writing on the same index have a shared dependency and can not run
concurrently).
Each ITx.UNISOLATED
task that completes processing will block
until the next commit, thereby absorbing a worker thread. For this
reason, it can improve performance if you set the core pool size and
the maximum pool size for the write service higher that
the potential concurrency with which the submitted tasks could be
processed.
There is also a strong effect as the JVM performs optimizations on
the running code, so randomize your tests. See
StressTestGroupCommit
for performance tuning.
DEFAULT_WRITE_SERVICE_CORE_POOL_SIZE
static final String DEFAULT_WRITE_SERVICE_CORE_POOL_SIZE
static final String WRITE_SERVICE_MAXIMUM_POOL_SIZE
Note: This property is ignored if the
WRITE_SERVICE_QUEUE_CAPACITY
is ZERO (0) or
Integer.MAX_VALUE
!
static final String DEFAULT_WRITE_SERVICE_MAXIMUM_POOL_SIZE
static final String WRITE_SERVICE_KEEP_ALIVE_TIME
WriteExecutorService
will
keep alive excess worker threads (those beyond the core pool size).static final String DEFAULT_WRITE_SERVICE_KEEP_ALIVE_TIME
static final String WRITE_SERVICE_PRESTART_ALL_CORE_THREADS
static final String DEFAULT_WRITE_SERVICE_PRESTART_ALL_CORE_THREADS
WRITE_SERVICE_PRESTART_ALL_CORE_THREADS
.static final String WRITE_SERVICE_QUEUE_CAPACITY
SynchronousQueue
(default
).
Note: When the WRITE_SERVICE_QUEUE_CAPACITY
is ZERO (0), a
SynchronousQueue
is used, the maximumPoolSize is ignored, and
new Thread
s will be created on demand. This allow the #of
threads to change in response to demand while ensuring that tasks are
never rejected.
Note: A LinkedBlockingQueue
will be used if the queue
capacity is Integer.MAX_VALUE
. The corePoolSize will never
increase for an unbounded queue so the value specified for
maximumPoolSize will be ignored and tasks will never be rejected. See
ThreadPoolExecutor
's discussion on queues for more
information on this issue.
Note: When a bounded queue capacity is specified, tasks will be rejected if the the corePoolThreads are busy and the work queue is full.
static final String DEFAULT_WRITE_SERVICE_QUEUE_CAPACITY
static final String WRITE_SERVICE_GROUP_COMMIT_TIMEOUT
WriteExecutorService
will await other tasks to join the commit group (default
"100"). When ZERO
(0), group commit is disabled since the first task to join the commit
group will NOT wait for other tasks and the commit group will
therefore always consist of a single task.static final String DEFAULT_WRITE_SERVICE_GROUP_COMMIT_TIMEOUT
static final String WRITE_SERVICE_OVERFLOW_LOCK_REQUEST_TIMEOUT
The lock timeout needs to be of significant duration or a lock request for a write service under heavy write load will timeout, in which case an error will be logged. If overflow processing is not performed the live journal extent will grow without bound and the service will be unable to release older resources on the disk.
static final String DEFAULT_WRITE_SERVICE_OVERFLOW_LOCK_REQUEST_TIMEOUT
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.