james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <server-...@james.apache.org>
Subject [jira] [Commented] (JAMES-2343) Use buffered file output stream for MimeMessageInputStreamSource
Date Thu, 26 Apr 2018 16:20:00 GMT

    [ https://issues.apache.org/jira/browse/JAMES-2343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454475#comment-16454475
] 

ASF GitHub Bot commented on JAMES-2343:
---------------------------------------

Github user chikei commented on the issue:

    https://github.com/apache/james-project/pull/105
  
    Benchmark setup: I use a simple noop mail queue to ensure it's measuring smtp protocol
related code, all connection were send using smtp-source from postfix with 100 concurrent
connection and 10000 total message.
    
    result (per message size in byte/total time used):
    current code:
    ```
       100   21.717 
     32768   44.188 
     65536  1:03.38 
    131072  2:23.30 
    262144  5:31.96 
    524288 12:50.44 
    ```
    the incorrect flush only code:
    ```
       100   23.220 
     32768   48.803 
     65536  1:04.91 
    131072  2:13.54 
    262144  4:32.83 
    524288 12:32.42 
    ```
    BufferedDeferredFileOutputStream:
    ```
       100  18.569 
     32768  47.671 
     65536 1:02.49 
    131072 1:51.47 
    262144 3:47.99 
    524288 8:01.42 
    ```


> Use buffered file output stream for MimeMessageInputStreamSource
> ----------------------------------------------------------------
>
>                 Key: JAMES-2343
>                 URL: https://issues.apache.org/jira/browse/JAMES-2343
>             Project: James Server
>          Issue Type: Improvement
>          Components: James Core
>            Reporter: TzeKai Lee
>            Priority: Major
>
> Currently MimeMessageInputStreamSource use DeferredFileOutputStream from commons-io which
does _not_ buffer output stream when switched to FileOutputStream. In my preliminary test,
simply wrap FileOutputStream with BufferedOutputStream could make a 50% performance improvement
for mail larger than deferring threshold (currently 100kb).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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


Mime
View raw message