Bookmarks: bad performance / doesn't scale to 1000 bookmarks

Created on 18 Mar 2020  路  6Comments  路  Source: nextcloud/bookmarks

Each time my browser syncs the bookmarks with nextcloud, the nextcloud server cpu (i5-7600T: 2,8GHz, 4 cores) is at 100% utilization on all cores for ~5 seconds. This is not acceptable for me.
Even syncing a bookmark folder with only one bookmark results in a short 50% spike on one core.

Do you know by chance what is taking so long to compute? I'm not familiar with profiling php, but maybe i can help nevertheless.

Desktop

  • OS: Linux
  • Browser: firefox/floccus
  • Version 74

Server

  • OS: Ubuntu 16lts
  • HTTP server: apache2.4.18
  • Database: MySQL 5.7
  • PHP version: v7.2
  • Nextcloud version: 18.0.2
  • Bookmarks app version: 2.3.4
  • Activated Nextcloud Apps:

Enabled:

  • accessibility: 1.4.0
  • activity: 2.11.0
  • bookmarks: 2.3.4
  • bruteforcesettings: 1.5.0
  • calendar: 2.0.2
  • cloud_federation_api: 1.1.0
  • comments: 1.8.0
  • dav: 1.14.0
  • federatedfilesharing: 1.8.0
  • federation: 1.8.0
  • files: 1.13.1
  • files_pdfviewer: 1.7.0
  • files_rightclick: 0.15.2
  • files_sharing: 1.10.1
  • files_trashbin: 1.8.0
  • files_versions: 1.11.0
  • files_videoplayer: 1.7.0
  • firstrunwizard: 2.7.0
  • logreader: 2.3.0
  • lookup_server_connector: 1.6.0
  • nextcloud_announcements: 1.7.0
  • notes: 3.2.0
  • notifications: 2.6.0
  • oauth2: 1.6.0
  • password_policy: 1.8.0
  • photos: 1.0.0
  • privacy: 1.2.0
  • provisioning_api: 1.8.0
  • recommendations: 0.6.0
  • serverinfo: 1.8.0
  • settings: 1.0.0
  • sharebymail: 1.8.0
  • support: 1.1.0
  • survey_client: 1.6.0
  • systemtags: 1.8.0
  • tasks: 0.12.1
  • text: 2.0.0
  • theming: 1.9.0
  • twofactor_backupcodes: 1.7.0
  • updatenotification: 1.8.0
  • viewer: 1.2.0
  • workflowengine: 2.0.0

Disabled:

  • admin_audit
  • contacts
  • encryption
  • files_external
  • files_markdown
  • qownnotesapi
  • user_ldap

    • Nextcloud configuration:

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "test.de",
            "nextcloud.test.de"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "https:\/\/nextcloud.test.de",
        "dbtype": "mysql",
        "version": "18.0.2.2",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "UTC",
        "installed": true,
        "maintenance": false,
        "theme": "",
        "loglevel": 0,
        "updater.release.channel": "stable",
        "mysql.utf8mb4": true,
        "updater.secret": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\APCu"
    }
}
  • Nextcloud external user backend: none

Nextcloud log says nothing.

bug

Most helpful comment

We tested the master version from the 14.04.2020 and it seems to provide significantly better performance in comparison to before.

All 6 comments

Feel free to try the latest master branch, now.

We tested the master version from the 14.04.2020 and it seems to provide significantly better performance in comparison to before.

I just tested this with an Odroid C2 (arm64 quad core) running fresh installation of Nextcloudpi 18.0.4 + Bookmarks 3.0.11

During Import of 1400 Bookmarks
Screen Shot 2020-05-06 at 9 23 39 PM

After Import
Screen Shot 2020-05-06 at 9 24 17 PM

@Linuxfabrik Thanks :)

@sunjam That's probably in the range of what's reasonable, no? How long does the import take?

@sunjam That's probably in the range of what's reasonable, no? How long does the import take?

Import might have taken up to a minute or so; timing was okay. Once the import completes there is no confirmation output or refresh of what is now contained in the app. If no bookmarks previously present import will appear to have been unsuccessful at a glance, with no tags or bookmarks or imported folder displayed until you refresh the browser window.

I'm closing this, as v3 has improved performance quite significantly, IMO.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

marcelklehr picture marcelklehr  路  4Comments

saywebsolutions picture saywebsolutions  路  6Comments

sunjam picture sunjam  路  4Comments

ifuchs picture ifuchs  路  4Comments

lyallp picture lyallp  路  4Comments