[ 
https://issues.apache.org/jira/browse/JAMES-3458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier closed JAMES-3458.
---------------------------------
    Resolution: Fixed

> [IMAP] GetQuotaRoot commands is issuing more than 10% of cassandra qurey time!
> ------------------------------------------------------------------------------
>
>                 Key: JAMES-3458
>                 URL: https://issues.apache.org/jira/browse/JAMES-3458
>             Project: James Server
>          Issue Type: Improvement
>          Components: cassandra, IMAPServer
>            Reporter: Benoit Tellier
>            Priority: Major
>              Labels: perf
>             Fix For: 3.6.0
>
>         Attachments: Capture d’écran de 2020-11-27 10-58-05.png, Capture 
> d’écran de 2020-11-27 10-58-28.png
>
>
> # Why
> IMAP clients performs a GETQUOTAROOT command for each mailboxes.
> Untagged responses also include the actual quota; we end up because of IMAP 
> design reading the quotas for each mailboxes! This is an issue eg when a 
> given user have hundreds of mailboxes! (Who said IMAP is a BAD protocol?)
> # How
> While patching IMAP design is not doable, we can optimize our queries to 
> reduce our query count: storage and count quota parts (current usage, max 
> user storage, max domain storage) are hosted on the same row, that we are 
> reading two times due to bad readpath design.
> Unlocking grouped read for collocated data would likely make this much less 
> of an issue.
> **Definition of done**: GetQuotaRoot cassandra query volume should be reduced 
> of 40%
> Glowroot captures attached. The first shows queries executed by GetQuotaroot, 
> as well as the percentage of total IMAP time spent on GetQuotaRoot queries 
> resolution.
> As a comparison the second capture shows all the IMAP queries being issued...
> # Impact
> Note that this work would also enhance slightly append speed (SMTP, IMAP 
> append, etc) as quota needs to be checked, backend quota processing (quota 
> updated events are less expensive to generate), and will slightly help 
> regarding JMAP Mailbox/get call (which reads the quota). Though the 
> enhancement would be less noticeable than for GetQuotaRoot IMAP command.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to