Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Very slow Carddav Sync when a pictures is added at the contact #299

Closed
zeiseiwogn opened this issue Nov 27, 2020 · 11 comments
Closed

Very slow Carddav Sync when a pictures is added at the contact #299

zeiseiwogn opened this issue Nov 27, 2020 · 11 comments

Comments

@zeiseiwogn
Copy link

Hello,

I am synching contacts from opencrx to Outlook with CalDavSynchronizer.
A lot of my contacts have added a picture to the vcf.
Now the Problem is that the CalDavSynchronizer thakes a very long time to sync contacts with pictures.

Without picture (from Logfile): Duration of 'CardDavRepository.Get (1 entitie(s))': 00:00:00.0530099
With picture (from Logfile): Duration of 'CardDavRepository.Get (1 entitie(s))': 00:01:24.2955027

Synching contacts with a piture to a Android or iPhone is not realy slower than a contact without a picture.

Please correct this to make the sync with photos in the VCF faster!

Best Regards,
Christian

Systeminformation:
Windows Version: 10 Pro 1909 (Build 18363.1082)
Outlook Version: Microsoft Office Standard 2016 64-bi (16.0.4266.1001)
CalDavSynchronizer Version: 3.8.2
Cardav Server and Version: opencrx 4.2.0
Outlook Hardware: i7-8700 + 32GB RAM + 1000Mbit Network interface

@zeiseiwogn
Copy link
Author

No change after Update to CaldavSynchronizer Version 4.0.0

@aluxnimm
Copy link
Owner

aluxnimm commented Dec 1, 2020

Please post an example vcard which causes this. 84 secs for one vcard with picture sounds strange? maybe some networking/proxy issue or timeout on the server side, if it is only when downloading the vcard. Does it only happen in the sync direction from server to outlook?

@zeiseiwogn
Copy link
Author

zeiseiwogn commented Dec 1, 2020

Hello, in the attachment you find a example for a contact with picture how we are using.
I dont think there is any problem with our network (no proxy using) or timeout on the server side.
Our server only supporting reading over caldav, so i dont cant testing the other way.
Feel free to contact me when you a needs more information to resolve this issue.
90MUSOGCHJ8BICQ84DVS28XC0.zip

And what is also strange that the CPU goes to 100% on the Client with Outlook.

Duration of 'Running synchronization profile 'Test_Profile'': 07:05:34.8639785
For synching 184 contacts, and not every contact has a profile picture.
For synching the same 184 contacts to a Samsung XCover 3 it takes about 9 minutes.

@xelan
Copy link

xelan commented Feb 22, 2021

Hi! Your vcf file is pretty huge, even the transmission of a 3MB picture (including the necessarybase64 encoding) can easily take the 1,5 seconds you mentioned on an average internet connection.

Could you try to resize the image to a sensible resolution (e.g. 500x500) and try again?

@zeiseiwogn
Copy link
Author

Hello, I am not shure what are you meaning with 1,5 second?
When you are mean the first Post "Duration of 'CardDavRepository.Get (1 entitie(s))': 00:01:24.2955027" it takes 1,5 minutes (not seconds) for one contact.
1,5 second per contact would be fine for me and not a problem!
I am synching only in local Network over 1GBit networkinterface to the server.

When it is realy necessary to try it i can, but it is not simple for me in our production system to test it.
But i know, each smaler the picture is, much faster is the snyc.

@xelan
Copy link

xelan commented Feb 24, 2021

Thanks for your answer. Oh, i misread the duration 😅 Sure, more than a minute is slow especially if the network is definitely not the issue. However, I think also 9 minutes (on your smartphone) is quite a long time for not even 200 contacts.

Could you try to batch-resize your contact images (e.g. with XnView) and see how the performance is with lower-res images?

@nertsch
Copy link
Collaborator

nertsch commented Feb 24, 2021

Hi,

This is not a network issue.
The Vcard library, which we are using seems to have serious performance issues, when reading (deserialising) such a large vcf-File. On my machine it took 106 seconds to sync this contact from a file folder (no network involved).
I will investigate it in the next days to fix this issue.

br
Gerhard

@zeiseiwogn
Copy link
Author

Hi Gerhard,
thanks for your answer. When i can do anything for you please feel free to contact me.

@xelan: I am working on it to resize the pictures anyway on our contacts

Best Regards
Christian

@nertsch
Copy link
Collaborator

nertsch commented Feb 27, 2021

It it fixed and takes now a few milliseconds to deserialize such a big contact.
The fix will be included in the next release.

br
Gerhard

@zeiseiwogn
Copy link
Author

Thank you for this great information.
When is the next release planned?

Best Regards
Christian

@aluxnimm
Copy link
Owner

aluxnimm commented Mar 1, 2021

There will be a release this month.

@aluxnimm aluxnimm closed this as completed Mar 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants