- CPU_LITE
This thread pool is the small pool in Mule 4 runtime engine. By default, It has only 2 threads for each available core.
This pool perform the handshake between processors in a flow and handling only Non blocking I/O.
Due to some bad code or code misusing CPU Light pools may get un-responsive or throughput will drop. WAITING or BLOCKED, these strings in console logs will help us to identify the issue easily.
- CPU_INTENSIVE
This thread pool is also the small pool in Mule 4 runtime engine. By default, It has only 2 thread for each available core.
But a queue is provided in this pool, which helps to process more tasks.
This pool will use by Transform Message component, if we have complex logic or big lines of code in the transform logic, it may cause for thread blocking and which can leads for slowing of processing speed.
- BLOCKING_IO
This is the bigger pool among all 3 pools. This is an elastic pool, means it can grow to max limit (limit will vary based on types of container/runtime system) based on the number of requests.
For transaction scope or transactional flows, this pool will use. Because most transaction managers require all steps of the transaction to be performed in a single thread.
Tasks running in this pool should spend most of their time in WAITING or BLOCKED states instead of performing CPU processing, so that they do not compete with the work of the other pools.
Comments