Asynchronous loading thread pool configuration
Purpose of the asynchronous loading thread pool
The asynchronous thread pool is utilized by dashboard components that load their data in the background.
How to build a dashboard component that utilizes the thread pool is described in the chapter 'Asynchronous loading of custom dashboard components' of the Customizing chapter of the Technical Documentation.
The actual computations for fetching the data are done within a thread executor provided by a thread pool. Note that the thread pool is created only on the first usage of the asynchronous server operations. With our standard solution, this only happens on first loading of the web dashboard.
The thread pool discussed here is configurable in order to tweak performance for dashboard operation for the customer's business needs as described in the following.
Asynchronous loading thread pool configuration
|
The thread pool executing asynchronous server operations in the background has several configuration parameters. |
Memory consumption
When changing the parameters they have to be viewed in context of the sizing of the system on which the Product 360 Server is running, also considering that there are already other Product 360 Server thread pools for other purposes which affect the global performance of the system.
Please keep in mind that dashboard components usually aggregate data for a lot of items, products or variants and thus consume a considerable amount of memory.
Parameters
Parameter |
Description |
MBean name |
Preference in plugin_customization.ini |
Thread pool core size |
Per default the core size of the thread pool is thrice the number of available processors. The number of threads held by the thread pool will never drop below this number, even if the threads are idle. If the thread pool core size is reduced while every thread is running the reduction will take time until ample threads have finished their processing current method stack. |
CorePoolSize |
serverOperation.threadPool.corePoolSize |
Thread pool maximum size |
Per default the maximum size of the thread pool is thrice the number of available processors. |
MaxPoolSize |
serverOperation.threadPool.maxPoolSize |
Thread priority |
Priority of threads in the pool. Possible values are:
|
ThreadPriority |
|
Attributes
Parameter |
Description |
MBean name |
Active threads count |
Number of threads that are actively executing tasks. |
ActiveCount |
Scheduled task count |
Total number of scheduled tasks. |
TaskCount |
Task completion rate |
The number of completed tasks per second. |
CompletionRate |
Task queue size |
Size of the task queue. |
QueueSize |