You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2020/06/23 03:01:00 UTC

[jira] [Created] (JAMES-3263) GET /address/aliases/address/aliases is slow (9s +)

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org