GNOME Bugzilla – Bug 731454
Add option to set number of concurrent connections to use
Last modified: 2020-01-16 08:06:44 UTC
I'm using self build evolution with evolution-ews. All is built on 10/06/2014. I have a 500MB mailbox but it's not all full. My network is not that fast. Server is in another continent and we access it through intranet. Evolution is spending a lot of time "downloading messages for offline mode" statement at the bottom of its window. if it's been some time that I launched this Evolution, then it starts downloading the mails it missed. This is fine, but with following problems: 1) It blocks the mail list to be fetched in priority, it I have to wait a long time to see today's messages (or the ones a few minutes ago). TB (using IMAP) on the other hand, downloads the message list first and caches for messages for offline use in the background. I can click a recent message and push it to download it first. 2) While downloading these messages for offline use, if you were lucky to have the message list completed (as I don't see consistent behavior here, sometimes, it downloads the list, sometimes not), if you click on a recent message, again you wait forever to see that message. If I click a message, it should be downloaded in priority.
Thanks for a bug report. As you mention both evolution-ews and IMAP, is this within the EWS account, or an IMAP account? The IMAPx works quite differently from EWS, for example you can choose how many concurrent connections can be used with IMAP, then the operations are spread between them. EWS doesn't know anything like that (yet).
This is happening for EWS account. Imap is the example to compare as TB does not have EWS but only IMAP access to the exchange server.
OK, I'm moving this to EWS then. Thanks.
Thanks. It just happened again. I came back from vacation, I did not open Evolution since 2 weeks on this PC. I re-synced the master repo and recompiled eds, evo and ews, started evo. I launched Thunderbird at the same time. Thunderbird immediately made available the list of emails in last 2 weeks and started downloading them for offline use. Evo (with EWS account) also started downloading for offline mode. But when i search a keyword from an email subject last week, Thunderbird lists those emails (even if not yet downloaded), while Evo does not show anything. I checked Evo's mail list, and indeed those mails did not yet appear. I Came back after a few hours, checked that evo completed offline caching and indeed those mails are now available. I think Evo needs to do this when downloading for offline mode, in priority: 1) Download a message list, subject digest 2) then start downloading from the newest or oldest message 2a) If the user clicks any message not yet downloaded, create separate thread to download that message in priority, pause the other download threads to give bandwidth to that message download
Please do not compare Thunderbird's IMAP with Evolution's EWS, those are two different things. If you want to compare them, then use the same protocol to connect to your server (in this case IMAP) in both applications. I understand the issue and agree with you, there is no problem in this regard.
OK, no issue. I've explained the use case and what I think is right for Evo-Ews to behave (ie download message list first, then sync offline contents, prioritise users requested email in any case).
Hi Milan, Today, after a long absence due to vacations, I re-downloaded master from git and re-compiled evo, evo-eds and ews. I deleted all config & data folders and started from scratch to test Evolution. Now it's downloading offline mode messages for 300 mb mailbox. In the meantime, I sent a new email, but it's stuck on "sending message" prompt since 10 minutes now. I guess it's waiting for Evo to complete offline mode downloads. I intend to try the tweak you mentioned in https://bugzilla.gnome.org/show_bug.cgi?id=733276 and see if it makes any change. This bug is really an issue, it is preventing normal usage of the app for work purposes. If I was at work depending on Evo with this state, I would be blocked from doing anything. It's very critical for EWS.
Hmm, I just recognized that the mail is actually sent within few seconds after clicking send button, I can see it arriving in destination. But the editor window is still on my screen stating "Sending Message". Maybe a new bug....
I understand, but I'm not able to do anything significant with it right now. Doing full download is also not ideal, why do you not trust the merge of changes after you return from vacation? It may save you time and bandwidth and so on. The reason for the composer window being opened can be that you save sent messages to a server (EWS) folder, thus the save is waiting for the other operations to be done.
Hi Milan, I did not understand "merge of changes" comment. I was away for long and wanted to see if there's any improvement so that's why I deleted all configs & data and started from scratch. I won't do it again for long time. (ie to see if this download issue was fixed or not). Your explanation for the window remaining open is hitting the point I think. I would be accepting to wait for some seconds or maybe a minute to let it download new emails with attachments. But even when my mailbox is fully synced & if I receive only one email with a 10MB attachment, it takes 15 minutes to download it and blocks my work flow. And I do receive these types of emails quite a few times a day. (see this bug: https://bugzilla.gnome.org/show_bug.cgi?id=733276)
Hi Milan, I've found the following website, maybe it can give a hint on EWS performance optimization to you? There are some measurement graphs as well: http://blogs.msdn.com/b/mstehle/archive/2008/07/17/outbox-understanding-and-fixing-slow-exchange-web-services-code-part-1.aspx http://blogs.msdn.com/b/mstehle/archive/2008/08/13/outbox-understanding-and-fixing-slow-exchange-web-services-code-part-2.aspx I've found some other websites complaining that EWS is throttling at 70kb/sec for message download on MACs. Also a complaint here with some code snippet and giving exactly similar timing delays that i'm facing (with no answer unfortunately). http://stackoverflow.com/questions/10091745/exchange-web-services-attachment-load-is-slow
Other related links from Technet Forums: https://social.technet.microsoft.com/Forums/en-US/1d1eadc2-db89-4147-bd9c-38a14351ce8e/slow-attachment-upload-with-exchange-web-services-outlook-2011-for-mac?forum=exchange2010 http://answers.microsoft.com/en-us/mac/forum/macoffice2011-macoutlook/outlook-2011-slow-sending-attachments-to-exchange/de885cda-b9a4-4700-a014-917e18d8d1fb?page=1
I realized that libsoup has a builtin support for concurrent connections, which can be used. It makes things significantly simpler on the evo-ews side. I added an option "Number of concurrent connections" into Mail account Properties, in Receiving Options tab, which defaults to 1, because it can cause connection limit reach and make other processes (calendar/book factory) not being able to connect to the server. It can have up to 7 concurrent connections set. Created commit [1] in ews master (3.35.90+) [1] https://gitlab.gnome.org/GNOME/evolution-ews/commit/50cb00c7