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
Large addressbook makes browser slow/unresponsive #428
Comments
@djermann The contacts app by now handles large amounts of contacts in a bad way, there is no question about it. The problem for me is, that I have no real idea on how to improve this situation. Maybe you can share the use case of such a high number of contacts and how we should improve the handling? E.g.
|
I can think of different possible approaches to solve this.
The same behavior should also apply for the results of a search. |
Let me point your attention to the CardDAV plugin for Roundcube (https://github.com/blind-coder/rcmcarddav), which is a CardDAV client, programmed in PHP, which works perfectly well with my Nextcloud server. I must admit, that I only have 600 contacts in my address book, but it might give you an idea how it could look like. It seems that the contact groups, the first and last names, and the email address, are loaded at once (or maybe in chunks) and the address details are only loaded when a contact is selected. (Loading ... is displayed for a fraction of a second). This reduces the amount of data which need to be kept in memory and makes usage really fast. |
@j-ed aside from the chunk loading, we're actually loading our info like that :) |
@skjnldsv Ok, that's new to me. I wonder where the huge performance differences are coming from if I compare both applications 😕 |
We have also encountered a problem after upgrading the contacts app to 2.0.1. On the Firefox browser version 52 on Linux, large contacts (in our case 398 and 4908) are not showing and only the spinning wheel appears. I had a look on the log files, as well on the browser console but I did not find anything related to this. I tested this on different browsers and it worked for the browsers below. I have 4908 contacts in my Nextcloud installation but it still takes more than 5 minutes to load on different browsers, which makes the app not usable for me or any users who has many contacts.
|
Hello everyone! Is this still a big issue? Or are our latest optimisation good enough? :) |
Latest 3.0.0 should be fast enough :) |
The app/contacts page still puts "too much" stress on my browser (FF 66), which warns me about slow script and asks me whether I'd prefer to shut it up. That is with NC 15.0.5 and Contacts 3.0.5, ~ 8k Contacts in a adress book shared with me. It is certainly not technically unusable and synchronisation with Thunderbird/Cardbook is pretty fast; but the Web-Ui takes a minute to load and is laggy afterwards, with a warning about a slow script more or less every time interacting with it. |
Which make sense. Browsers cannot handle that many things at once. Though 8k users seems pretty crazy. I'm wondering what is the bottleneck here, the loading request? The display of all of those users? 🤔 |
Well - yes and no. One could put the load on the server, like in "traditional" web-applications and only render what is needed, paginate etc. But I assume that the architecture wants to have most of the accessible data already at client side to do the work there (in my oppinion that is the "crazy" part, not the amout of contacts). By the way, you wrote "Users", but its really about contacts. Although there is ~100 at least potential Users involved too. And I don't want to blame. Thanks for the optimiziations! I guess the the choice of using a heavy (?) JavaScript-Client-Framework also has had good consequences. |
I indeed wanted to write contacts :)
Don't worry, I was not taking it like that :) I will try to check if there are some other optimisations to be done here :) |
Just from looking at the "Network" tab of Dev Tools in Firefox: Loading the 5MB data of the larger adressbook takes a while, but then comes a long period of no network activity until a |
how long (roughly)? :) |
A minute. My machine is not top notch, but imho sufficiently powered (5gb
ram, 4x 2.6ghz core).
…On Tue, Mar 26, 2019 at 4:10 PM John Molakvoæ ***@***.***> wrote:
but then comes a long period of no network activity until a PROPFIND to a
specific .vcf path is done (I guess that is the currently selected/first
contact).
how long (roughly)? :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#428 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AANY7WoYmndkx9c17JpD3KP7mgpxslu8ks5vajh5gaJpZM4QRF9p>
.
|
Sorry that I could not contribute more. I updated to 3.1.0 and performance is way better now. Thanks a lot! |
@fwolfst do not be sorry!! |
A customer has a large address book with more than 13'000 contacts. When opening the contacts app it takes more than 3 minutes to load the contacts and chromium shows the page-is-unresponsive message several times. When the contacts are finally loaded, every further action takes at least a half a minute to be performed. The whole tab the uses more than 700 MB of RAM. There should be a better memory handling as the actual setting makes the contacts app nearly unusable with many contacts.
Steps to reproduce
Expected behaviour
Contacts get loaded fast. Only the first contacts should load and as you scroll down, the rest should get downloaded.
Actual behaviour
Contacts load very slow, and browser nearly crashes.
Server configuration
Operating system:
Debian 8.9
Web server:
Nginx
Database:
Mysql
PHP version:
5.6
Nextcloud version: (see Nextcloud admin page)
12.0.2
Contacts version: (see Nextcloud apps page)
1.5.3
Updated from an older Nextcloud or fresh install:
Fresh install
Signing status:
No errors have been found.
List of activated apps:
Nextcloud configuration:
Are you using external storage, if yes which one: local/smb/sftp/...
no
Are you using encryption: yes/no
no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
no
Client configuration
Browser:
Chromium Version 57.0.2987.98
Operating system:
Debian 8.9
CardDAV-clients:
Logs
Web server error log
no errors
Nextcloud log (data/nextcloud.log)
nothing interesting
Browser log
no messages in console
The text was updated successfully, but these errors were encountered: