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.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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.
Never had an issue with mine. And running fine. Only thing I have done is use mariadb.
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.
Containers run on “bare metal”.
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.
not sure why you’re being downvoted.
LaNgUaGe EvOlVeS. 🙄
Wait what? I’m saying what you said is correct. Am I the one who’s confused here?
Edit: oh maybe you meant that’s the excuse people give for being wrong? lol
Yes, that’s the excuse I’ve been getting. Sorry to be vague.
Not in this context. Bare metal means all packages and services installed and running directly on the host, not through docker/lxc/vms
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.
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
What is it you think the “metal” is in in the phrase “running on bare metal?”
Your comment is irrelevant. Who cares in what directory or disk image the packages are installed? If I run in a “chroot jail” am I not “running on bare metal?” What if I include a library in /opt/application/lib? Does it matter if the binaries are on an NFS share? This is all irrelevant.
The phrase means to be not running in any emulation. To answer my question above - the “metal” is the CPU (edit: and other hardware).
edit2: I mean - it’s the defining characteristic of containers that they execute on bare metal unlike VMs and (arguably - I won’t get into it) hypervisors. There is no hardware abstraction at all. They just run natively.
It’s just what it means in this specific context.
They’re not running directly on the host, with directly meaning directly.
If you go by definition, I agree with you, but the definition is not always the thing to go off of.
It’s all about where the packages and services are installed
No. Your packages and services could be on a network share on the other side of the world, but where they are run is what matters here. Processes are always loaded into, and run from main memory.
“Running on bare metal” refers to whether the CPU the process is being run on is emulated/virtualized (ex. via Intel VT-x) or not.
A VM uses virtualization to run an OS, and the processes are running within that OS, thus neither is running on bare metal. But the purpose of containers is to run them wherever your host OS is running. So if your host is on bare metal, then the container is too. You are not emulating or virtualizing any hardware.
Here’s an article explaining the difference in more detail if needed.
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?
Lighter, I dont know. Faster, I’d say owncloud. YMMV
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:
-
Managing the ton of metadata in the db that is used by nextcloud to provide the enhanced functionality
-
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.
Containers run on “bare metal”…
-
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. :)
Which docker are you using? Is it the AIO docker?
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.
No problems here, running the official helm chart
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System Git Popular version control system, primarily for code HTTP Hypertext Transfer Protocol, the Web IP Internet Protocol LXC Linux Containers NUC Next Unit of Computing brand of Intel small computers RPi Raspberry Pi brand of SBC SBC Single-Board Computer SSD Solid State Drive mass storage VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting) ZFS Solaris/Linux filesystem focusing on data integrity nginx Popular HTTP server
11 acronyms in this thread; the most compressed thread commented on today has 10 acronyms.
[Thread #566 for this sub, first seen 3rd Mar 2024, 08:45] [FAQ] [Full list] [Contact] [Source code]
I use it on cheap vps since ~4yrs and work “well” but I’ve never had a single major update that didn’t have an issue on my LXC/Alpine container 😒 One moment it’s the packages name that have changed, one time it’s PHP version, another it’s a config, another is a addon, last time that was opcache, … and I’m a bit tired of having to spend hours each time doing maintenance of it.
I really think I’m going to go back to something simpler but more solid like an SSHFS or similar.
I run Nextcloud on an old laptop (i5-8500h) and tbh I find it super fast and responsive. I’ve barely done any tinkering or customization
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.
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.
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