Benoit Tellier created JAMES-3263:
-------------------------------------
Summary: GET /address/aliases/address/aliases is slow (9s +)
Key: JAMES-3263
URL: https://issues.apache.org/jira/browse/JAMES-3263
Project: James Server
Issue Type: Task
Reporter: Benoit Tellier
Attachments: Capture d’écran de 2020-06-23 09-24-17.png,
Capture_d_écran_de_2020-06-23_09-21-12.png
Doing a slowtrace analysis for the webAdmin protocol on one of Linagora
deployments:
{code:java}
Transaction type: Web
Transaction name: GET /address/aliases/address/aliases
Start: 2020-06-23 8:03:41.284 am (+07:00)
Duration: 9,639.2 milliseconds
Request http method: GET
Response code: 200
{code}
Listing all mappings, a common operation is slow.
Surprisingly, query executes really fast at the Cassandra levels, and some
other processing seems to be taking time:
Capture_d_écran_de_2020-06-23_09-21-12.png demonstrate query timings and we can
see Cassandra query takes less than 200 ms and the time is spent elsewhere.
Looking at the code, collection processing does a lot of immutable copies
(MappingsImpl::build calls.
Better rewritting the reduce operation would certainly unlock a performance
improvment.
The glowroot flame graph seems to correlate with this analysis (disclaimer: I
had a look at it after doing this analysis)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]