How responsive is your Nextcloud?

submitted by Kalcifer edited

My Nextcloud has always been sluggish — navigating and interacting isn't snappy/responsive, changing between apps is very slow, loading tasks is horrible, etc. I'm curious what the experience is like for other people. I'd also be curious to know how you have your Nextcloud set up (install method, server hardware, any other relevent special configs, etc.). Mine is essentially just a default install of Nextcloud Snap.

Edit (2024-03-03T09:00Z): I should clarify that I am specifically talking about the web interface and not general file sync capabilites. Specifically, I notice the sluggishness the most when interacting with the calendar, and tasks.

Log in to comment

68 Comments

NateNate60

Mine is... eh. It's alright. I don't use any of the apps. Just the actual sync functionality. Sometimes when I'm moving files around there's a problem where the entire thing just stops responding. My MediaWiki instance still works, just not Nextcloud. Not sure why this happens and not sure if it also happens to other people.

For comparison, it is running on a Contabo VPS M

JASN_DE

Docker behind a Traefik proxy with crowdsec checking (adds additional lag). Ryzen 2700x 32GB local machine. All storage on SSD.

The web interface is very usable, switching subpages takes maybe half a second max without it being cached by the browser.

Could of course be quicker (as basically everything ever), but as we mostly use it with the Windows sync clients and Android apps we never really have any issues.

Kalcifer [OP]

Which docker image do you use? AIO?

JASN_DE

No. This installation is so old it precedes the AIO image. "Standard" docker image, redis, mariadb.

MaggiWuerze , edited

Dito. It's not blazing fast, but always usable and fast enough. Especially with Redis and Postgres

Jeena

Mine has always been slow. I started on a raspberry pi but later on a NUC and even on my VPS at Hetzner, it was always like you describe. Because I only used it for calendar, adressbook and sharing a few files I replaced it with Radicale for CalDav and CardDav and Syncthing for sharing files.

halm

Yeah, me too. Nextcloud is way too unwieldy for basic usage like calendar/contact/even file sync. I tried a couple collaboration tools but they only stuttered and crapped out.

I'm actually fine hosting several smaller, dedicated services for the features I need rather than one lumbering point of failure.

CoopaLoopa

Spent a full day setting up Nextcloud so I could file sync my machines and share files externally. It was slow as hell and didn't work half the time.

Spent 10 minutes spinning up Syncthing and FileBrowser containers and have had zero issues with them since.

poVoq , edited

Configuring a Redis cache really helps in my experience.

But I also recently noticed something odd: it works quite well on my usual internet connection, but when I traveled abroad it became excruciatingly slow, more so than the admittably worse mobile connection would have let me assume. Something about it seems to require a relatively stable internet connection on the client side it seems.

maiskanzler

That might be due to your ISP's routing and interconnects. They usually have good routes to big services and might lack good connections between home users in different countries or on different continents.

SGG

Mine is nice and quick in regards to the web interface and general functions. However I run it on a server at home and my upload speed isn't the best, so if I need to pull a larger file (Files On Demand enabled) then obviously the transfer speed of the file is a bit sluggish.

Hosted on a VM with 16GB RAM, 4 cores. Using the NextcloudAIO docker deployment option, all behind an Apache reverse proxy (I have a bunch of other services on another VM that all have reverse proxy access in place as well).

Kalcifer [OP]

Did you do anything special configuration-wise, or did you, more or less, just deploy the AIO docker as-is?

SGG

Nothing too special, just had to do some fiddling to get the Apache reverse proxy working correctly. Now I believe they have a pre-made example for it, but back then they only had nginx. I stick with Apache because that's still what I know. Might start learning nginx, but my main work isn't in web stuff.

fungos , edited

mine was really sluggish for a long time, then I saw someone in here explaining their similar issue and their fix. I don't have the post link, but it was related to DNS settings. Basically for some reason using my pihole dns made only nextcloud sluggish, the fix suggestion was to use 1.1.1.1, which worked. Now, it is a pretty fast nextcloud.

czardestructo

So on your Nextcloud server you use an external DNS and it greatly sped up you nextcloud? Because I noticed a few years back mine got slow and I cannot figure out why. It was about the time I enforced pihole dns with pfsense. I might need to try this.

Synnr

That would make sense if the cause is some looping from hanging DNS lookups. Someone should (and likely has) notified the devs about this.

Another possible solution, from https://help.nextcloud.com/t/server-hangs-and-then-is-fine-for-a-bit-then-hangs-again/153917/16

czardestructo

I'm going to have to give this a shot tonight, need to make a pfsense rule to allow the server to get out and then change its DNS. Regarding php, my current config is the following because I have over 64gigs of ram and went through great length to get Nextcloud to cache MORE into ram: pm.max_requests = 50000 #set higher, the process is recyled after 50k calls to prevent memory leaks pm.max_children = 1000 pm.start_servers = 60 pm.min_spare_servers = 30 pm.max_spare_servers = 120

Tiritibambix

Nextcloud pleases A LOT 10% of it's users. Those 10% are composed by tech savvy people, coders and developpers that spent countless hours tinkering with their instance.

I'm one of the 90% left. Despite really wanting to use nextcloud and trying to set it up correctly for 2 years, I finally gave up and I feel much happier in my life, in my work, with my family and friends, and they thank me for that.

Now I just recommend Owncloud or seafile. They're both really easy to install and just work out of the box.

Out of habit and convenience, I keep a nextcloud running on oracle free tier just for what it's good at: caldav and contacts.

ShortN0te

The out of the box experience of the containerized nextcloud is actually really bad. Had it running bare metal with apache and it was way faster.

But have you tried the official AIO docker compose file? Basically copy the redis stuff from there and you are good to go.

atzanteol

Containers run on "bare metal".

LufyCZ

Not in this context. Bare metal means all packages and services installed and running *directly* on the host, *not* through docker/lxc/vms

atzanteol , edited

Yes - in this context containers run on bare metal. They run *directly* on the host. They even show up in the host's process list with PIDs. There is no virtual machine between an executable running in a docker image and the CPU on the host.

LufyCZ

Have you read my comment? It's about where the packages and services *are installed*.

In this case, they're installed in the container, not on the host

teawrecks

More specifically, the container is run on bare metal if the host is running on bare metal. You are correct in this thread, not sure why you're being downvoted. I guess people don't know what virtualization technology is or when it is used.

If the nextcloud container is slow, it's for reasons other than virtualization.

Auli

Never had an issue with mine. And running fine. Only thing I have done is use mariadb.

tubbadu

Now I just recommend Owncloud or seafile. They're both really easy to install and just work out of the box.

Which one is lighter on your opinion?

kreliac

I just moved my files from nextcloud to seafile, founded that I don't really need chat, calendar, tasks and other things, only need to store files and have it synced between my devices.

Nextcloud works for my small company and I'm not going to change it for now.

TheCorminator

What hardware are you running it on? I set mine up originally on a raspberry pi 3b and the web interface was very slow, but upgrading it to a RPi4 with 4GB RAM made a massive difference. Though I suspect some of that was that the data and database were being stored on an external SSD in both cases, the RPi4 had a usb 3 interface and dedicated Ethernet, but the 3b had a single USB 2 bus to share between the Ethernet and SSD.

Engywuck

MIne is on a RPi4 4 GB as well (the AIO container) with two SSD and the performance of the frontend are meh... But I seldom use the web part anyway and mainly rely on the desktop client/android App, which work just fine.

feinzer
it's quite slow for me. AIO docker setup

It was way worse when I tried the snap tho
Possibly linux

I've never experienced slowness and I'm accessing it from behind two proxies and a VPN. Can you share some information about your setup?

rambos

I run linuxserver.io docker container, disabled almost all apps and its been running rock solid and quite fast on old celeron. It takes 3-5 sec to open a web page, but I mostly use desktop/android app anyway

Father_Redbeard

I've shit-talk NC so much on here and other forums but for some reason kept feeling compelled to try to make it work. I've tried a few of the Community Docker templates available on Unraid "store" as well as AIO. I've had issues with all of them. Then gave NextcloudPi a try on a spare Pi 4 (installed a SSD as boot instead of microSD) and it works much better. It's still much slower than I think it should be, but this version is far and away more responsive than the others.

Seafile is a beast of an app that syncs and performs incredibly fast. Some folks won't use it due to the git-like chunks it parses your data into on the server end (this is what accounts for the speed from what I've read). I understand the concerns in that regard, but I still like it and I have my own way to mitigate that concern.

SDK

Same.

I’ve always run Nextcloud as a docker behind an NGINX/Let’s Encrypt proxy and login sometimes takes over a minute, even if I access the Nextcloud docker directly without the proxy. It’s a very frustrating experience to use a self hosted Nextcloud.

Kalcifer [OP]

Which docker did you use, out of curiosity?

SDK
Foofighter

Mine runs very smooth. I guess it's a matter of hardware or Ressource allocation?

I have a fujitsu thin client with a 4 core Celeron CPU and 8gb RAM. Nextcloud and Maria DB run in separate containers in proxmox.

I am the only user. I have only office, face recognition and maps installed. Other than that I use calender, contact and Foto sync.

N3UR0N

Mine runs very smoothly. I set it up on a Raspberry Pi 4 (4GB) with an external 1TB drive. I run it in docker with the official (?) image and can't remember having set any special config. If you have any questions, I'm happy to answer them. :)

Kalcifer [OP]

Which docker are you using? Is it the AIO docker?

N3UR0N

I had to look it up. It's the community image (apache version) from https://hub.docker.com/_/nextcloud/ which I use together with a mariadb and redis image.

Björn Tantau

Pretty sluggish for me as well. Bare metal install with Apache, PHP 8.3, since a few days PostgreSQL and the whole Redis memcached opcache whatevercache stuff. Next step would be to check if the AIO Docker is the magical thing that makes it fly.

Some 8 core CPU I'm too lazy to look up, 16 GB RAM and two HDDs. SSDs would probably help, I guess.

atzanteol , edited

You've told us nothing about your hardware.

I've been running nextcloud for some time with this setup: KVM virtual machine with 4 cores / 8 GiB RAM docker image: `nextcloud:28.0.2-apache` with db: `mariadb:11.1` The UI has never been what one would call... "fast". Especially on first load of a page or directory. It's been adequate for me though. Once I click around a bit it caches enough things to feel fairly responsive. I also mount /var/lib/nextcloud off a network share so I'm sure that hits my performance some as well.

Nextcloud leans on the database a lot so be sure to have a local and quick storage for it (no - don't run it on your raspberry pi). There are also cleanup cron jobs and indexes that need to be updated when doing upgrades that help performance as well.

vegetaaaaaaa

Quite fast.

KVM/libvirt VM with 4GB RAM and 4vCores shared with a dozen other services, storage is not the fastest (qcow2-backed disks on a ext4 partition inside a LUKS volume on a 5400RPM hard drive... I might move it so a SSD sometime soon) so features highly dependent on disk I/O (thumbnailing) are sometimes sluggish. There is an occasional slowdown, I suppose caused by APCu caches periodically being dropped, but once a page is loaded and the cache is warmed up, it becomes fast again.

Standard apache + php-fpm + postgresql setup as described in the Nextcloud official documentation, automated through this ansible role

maiskanzler

I am very happy with mine and have only ever had one hiccup during updating that was due to my Dockerfile removing one dependency to many. I've run it bare metal (apache, mariadb) as well as containerized (derived custom image, traefik, mariadb). Both were okay in speed after applying all steps from the documentation.

Having the database on your fastest drive is definitely very important. Whenever I look at htop while making big copies or moves, it's always mariadb that's shuffling stuff around.

In my opinion there are 2 things that make nextcloud (appear) slow:

  1. Managing the ton of metadata in the db that is used by nextcloud to provide the enhanced functionality

  2. It is/was a webpage rendered mostly on the server.

The first issue is hard to tackle, because it is intrinsic and also has different optimums for different deployment scales. Optimizing databases is beyond my skillset and therefore I stick to the recommendations.

The second issue is slowly being worked around, because many applications on nextcloud now resemble SPAs, that are highly interactive and are rendered by your browser. That reduces page reloads and makes it feel more smooth.

All that said, I barely use the webinterface, because I rarely use the collaboration features. If I have to create a share I usually do that on the app because that's where I send the link to people. Most of my usecase is just syncing files, calendars and contacts.

atzanteol

Containers run on "bare metal"...

Clearwater , edited

Docker, using the nextcloud:stable image (not-all in-one) with postgres, behind nginx, and finally ZFS with 2x modern HDDs for storage. I run the stock apps plus a small handful, and have carried the same database through many versions over the last 5 years.

It's usable, but definitely not snappy.

The web interface for files is fine. Not instantaneous at all but not a huge problem. I have about 1TB of files (images and videos) in one folder, then varying files everywhere else. I suspect that the number of files (but probably not the size) is causing the slowdown.

Switching to, for example, the notes app is incredibly slow, and the NC Android app is just as bad.

zelifcam , edited

https://linuxunplugged.com/549

Podcast Description:

Deploying Nextcloud the Nix way promises a paradise of reproducibility and simplicity. But is it just a painful trek through configuration hell? We built the dream Nextcloud using Nix and faced reality.

Edit: The link provides working configurations and instructions for deploying Nextcloud. The audio discusses challenges and talks about some of the things brought up here and how to get around them. They discuss various forms of deployments.

Edit2: I provide an actual discussion about the topic along with solutions and this gets downvoted? They even hit on the sluggish web ui problem.

terminhell

Overall good. The only slowness is right after login. After it loads everything it's pretty responsive. Using the snap version (I know, snap bad. But in this case it was the only way I got it going.).

Self updates,.get email notifications when it updateab

Matt The Horwood

My nextcloud was almost instant, then the upgrade to v28 seems to have broke a load of things and now is very slow.

  • nginx LB in LXC
  • qemu vm with PHP and nginx on it
    • as many PHP optimisations as I can find
  • qemu vm with just mysql
    • as many MySQL optimisations as I can find
  • docker notify thing on the docker swarm vms

All on the same host with other things

atzanteol

Have you created any indexes the new release might have needed? Nextcloud doesn't create them by default.

https://help.nextcloud.com/t/some-indices-are-missing-in-the-database-how-to-add-them-manually/37852

Matt The Horwood

I've been through everything on the install guide and update I can find, it looks to be the groupfolders app that looks for expired items every 5 minutes. It gets better if I stop Cron or delete the job

atzanteol

Yeah - that's reasonable. I brought it up since it's the #1 thing I always forgot about for some time and now it's the first thing I check.

LDerJim

No problems here, running the official helm chart

solrize

Mine is not great but is ok. Main special thing I did was put it on a vps very close to home, for short ping time. That was to get lower latency voice chat with nextcloud talk, but I haven't been using that at all.

marcos

I stopped using it because it has an extremely complex protocol, with very large bloat that increases with the number of files, and incredibly sensitive to latency.

When I stopped syncing directories because they would take days to upload and started compressing them so they would finish in 10 minutes, I decided it had to go. (Oh, and it's extremely sensitive to network problems too.)

cecilkorik

I still use Nextcloud for syncing documents and other basic stuff that is relatively simple. But I started getting glacial sync times consuming large amounts of CPU and running into lots of conflicts as more and more got added. For higher performance, more demanding sync tasks involving huge numbers of files, large file sizes, and rapid changes, I've started using Syncthing and am much, much happier with it. Nextcloud sync seems to be sort of a jack of all trades, master of none, kind of thing. Whereas Syncthing is a one trick pony that does that trick *very, very well*.

ikidd

Use the AIO. Its much faster than any other way I've had it set up and I've used NC for years. Easy to update, full featured, supported.

And anyone that tells you to use Own cloud instead doesn't have a clue.

TOR-anon1

An issue I have with AIO is I can't use an internal IP address, and I'm required to have a domain or revese proxy.

OwnCloud for now, NC for the manual install.

derpgon , edited

What do you mean no internal IP? I can access the instance on my local network via RPI address no problem.

EDIT: Realized I didn't use AIO. Sorry.

TOR-anon1
derpgon

Ooooh, I just checked and I am indeed not running the AIO. Must be a new thing, and I though I had it because I didn't set up much, but I really just used a premare docker-compose.yml, which is why I didn't remember any advanced setup. It still uses multiple containers.

I stand corrected.