ChangemakerStudios / Papercut-SMTP

Papercut SMTP -- The Simple Desktop Email Server
2.97k stars 272 forks source link

Memory consumption and CPU load loading 1000s of mails #150

Closed adymorz closed 4 years ago

adymorz commented 5 years ago

Problem I am frustrated about the loading time and memory consumption when loading a lot of mails. It takes the application more than 40 minutes to load a few 1000 113'621 mails.

Solution I would like to see that papercuts loads the mails lazy. I would love to see the interface of the application and wait for the mails to be loaded, meanwhile having the option to delete all mails. I would recommend to load only the actual selected mail into memory, while having a list of small representations of the relevant information of all the mails in memory.

Alternatives I have considered As a workaround I could simply delete the mail files from the folder they are stored in. But I do not remember the folder name, where the mails are stored in. Found it: C:\Program Files (x86)\Changemaker Studios\Papercut\Incoming I also could change the configuration of our software to not send emails during automated test, but then I would loose the option to look at the mails which have been sent if something goes wrong.

Task manager during loading

grafik

grafik

grafik

grafik

baldsimon commented 5 years ago

I run a daily batch file to move yesterday’s emails out to a compressed folder, named for yyyy-mm-dd. This keeps paper cut responsive and ensures that I have the emails to go back to if they’re needed.

S.

On Fri, 26 Jul 2019 at 16:13, Adrian Dymorz notifications@github.com wrote:

Problem I am frustrated about the loading time and memory consumption when loading a lot of mails. It takes the application more than 20 minutes to load a few 1000 mails.

Solution I would like to see that papercuts loads the mails lazy. I would love to see the interface of the application and wait for the mails to be loaded, meanwhile having the option to delete all mails. I would recommend to load only the actual selected mail into memory, while having a list of small representations of the relevant information of the mails in memory.

Alternatives you've considered As a workaround I could simply delete the mail files from the folder they are stored in. But I do not remember the folder name, where the mails are stored in. I also could change the configuration of our software to not send emails during automated test, but then I would loose the option to look at the mails which have been sent if something goes wrong.

Image during loading [image: grafik] https://user-images.githubusercontent.com/1993680/61960791-769e9300-afc6-11e9-9967-580c8f886922.png

[image: grafik] https://user-images.githubusercontent.com/1993680/61961622-0f81de00-afc8-11e9-8824-2529d7c322dc.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ChangemakerStudios/Papercut/issues/150?email_source=notifications&email_token=AKZJE4YACHXMJX32T3SCPHLQBMIATA5CNFSM4IHEYHVKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HBXULIA, or mute the thread https://github.com/notifications/unsubscribe-auth/AKZJE4ZCSZ7M5UNCDDSIXZTQBMIATANCNFSM4IHEYHVA .

Jaben commented 4 years ago

Latest version changes loading and logging (internally) -- the situation will hopefully improve.

Please download and try it here: https://github.com/ChangemakerStudios/Papercut/releases/tag/5.6.0

Jaben commented 4 years ago

Closing this for now as I think the situation has improved and there has been no responses back.

adymorz commented 4 years ago

Sorry for my late feedback. I just installed the new version right now. Thanks for your work!