james-project
james-project copied to clipboard
JAMES-2586 Introduce Pool PostgreExecutor
Continue of https://github.com/apache/james-project/pull/1882
Please do not merge this before doing bench using the connection pool everywhere / nowhere...
Bench test
Pool vs No pool
// For easier get difference, I changed "fetchBody
" to 60% (which uses PostgresBlobStorage)
Pool size = 50
The "No-pool Connection (single-connection)" is better than "Pool Connection"
The sample data:
- 12455/65000 mail has a size greater than 100KB
- 6221/65000 mail has a size greater than 500KB
a bit surprised
I will change the pool size from 50->2, and re-test again Then see the slowing come from the pool or another where
Let's go for the pool implementation now, but all pool settings shall be configurable into postgres.properties
:
- TTL
- Max size
- Min size
- Etc...
Let's go for the pool implementation now, but all pool settings shall be configurable into
postgres.properties
:
- TTL
- Max size
- Min size
- Etc...
It is already in the last commit. Right now we can configure the maxIdleTime, initialSize (not minSize), and maxSize. Other property, I don't think is necessary, (or I don't sure ) https://github.com/r2dbc/r2dbc-pool
Rebase master & squash fixup for easier follow
Needs a rebase.
Status on this?
Status on this?
IMO not a priority.
Let's work on this later.