chibenwa opened a new pull request #454:
URL: https://github.com/apache/james-project/pull/454


   Today one connection and one channel is opened per processed
   emails. Connections and channels are long lived objects,
   made to be reused.
   
   Flame graphs showed that this AMQP mailet represents ~1%
   of CPU occupation with just about 30 mail/sec. Note that
   92% of this time is used opening/closing connections/channels.
   
   Moving connection and channel initialization at mailet
   initialization enables reuse and leads to dramatic enhancements
   of the performances of that very mailet. Note that retries are
   in place in case Rabbit is not up right at start - common with
   IE docker-compose.
   
   The testing strategy relying on mocks is brittle. Given that we
   have full-fledged integration tests in place, we can get rid of
   these annoying mock-based tests.
   
   ## Before
   
   
![newcon](https://user-images.githubusercontent.com/6928740/119252490-c5bfaa00-bbd6-11eb-832b-68c7677fa154.png)
   
   
![newcon2](https://user-images.githubusercontent.com/6928740/119252492-c9533100-bbd6-11eb-8ba8-9469a0455890.png)
   
   ## After
   
   
![resuecon](https://user-images.githubusercontent.com/6928740/119252497-d112d580-bbd6-11eb-8ed3-87f3d9d4e432.png)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to