[
https://issues.apache.org/jira/browse/JAMES-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17051050#comment-17051050
]
Benoit Tellier commented on JAMES-3086:
---------------------------------------
Helloo Rachid.
Thanks for in depth testing, this kind of feedback is much wanted.
Realse 3.4 degraded ActiveMQMailQueue performance and had undergone recent work
regarding performance. cf https://github.com/linagora/james-project/pull/2942
At Linagora, we have similar performances (30 mail / seq, but of smaller size
when running cassandra-guice james-server stress tests on a single machine).
Regarding ElasticSearch indexing, there is no control over thread count. You
need to now that in cassandra-guice, mailbox event traitment (and thus
elastic-search indexing) is scheduled asynchronously for each newly append
messages (in a reactor elastic thread blocked in synchronous IO)
distributed-james (akka "rabbit") is executing indexing behind a message queue
thus reducing pressure.
To be noted: I believe ElasticSearch indexing could be ported to a reactive
non-blocking code style with moderate efforts. We would need to leverage
futures in the elasticsearch driver, then allow reactive-non-blocking execution
for MailboxListeners. That way "ElasticSearch" threads won"t be IDLE. Would you
be interested to contribute on this?
> Mail Server Load Test giving very low throughput
> ------------------------------------------------
>
> Key: JAMES-3086
> URL: https://issues.apache.org/jira/browse/JAMES-3086
> Project: James Server
> Issue Type: Bug
> Components: POP3Server, SMTPServer
> Affects Versions: 3.3.0
> Reporter: Rashid Mahmood
> Priority: Blocker
> Attachments: image-2020-03-04-09-30-30-054.png, threaddump.txt
>
>
> After functional tests, we are performing load tests against James Server
> setup with Casandra/Elasticsearch(cassandra-ldap-guice) packaging option.
> With JMeter constant throughput timer of 300 SMPT requests per seconds we are
> achieving around 10 requests per seconds. Each Request is with 100KB
> attachment. Observed CPU of the machine (where MailServer running) was over
> exhausted.
> Many of the threads in thread dump were in awaiting notifications state.
> I see around 100 threads from Elastic search, is there any configuration to
> control this?
> Where is the bottleneck?
> !image-2020-03-04-09-30-30-054.png!
>
> See the thread dump in attachment.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]