Nextcloud
December 19, 2019  |  Nextcloud  ·  Self-Hosting

As I slowly move more and more of my stuff to Nextcloud, my performance and reliability requirements grow, so I’ve tried a few things in order to improve Nextcloud performance.

Moving Nextcloud Fata From SD Card to SSD

I’ve used 1GB random file (/dev/urandom) for all of the tests listed below.

SD Card:

  • Downloading file over a local network: 11.7 MB/s.
  • Uploading file over a local network: 3.55 MB/s.

SSD:

  • Downloading file over a local network: 11.3 MB/s.
  • Uploading file over a local network: 6.67 MB/s.

It seems that switching to SSD helped a bit, but I haven’t noticed any dramatic changes. Still, SSD is a good choice for many other reasons but Nextcloud speed isn’t one of them. It will be interesting to repeat this test once Raspberry Pi 4 will get an ability to boot its operating system from an SSD.

Changing SSH Tunnel Location

Local speeds listed above are fine by me but what about the speeds outside my home network? Here are my measurements:

  • Downloading file over the Internet: 0.2 MB/s,
  • Uploading file over the Internet: 0.8 MB/s,

That’s horrible! There must be a really nasty bottleneck somewhere and three immediate candidates are:

  • My tunnel to home network is located in Amsterdam and my home network is in Phuket, seems like something less then optimal, to say the least.
  • My cloud provider (Scaleway) might have some speed limits.
  • Setting up SSH tunnel is kind of a hack and there are better (and faster) ways to achieve the same goals.

So I’ve decided to switch to Digital Ocean and move my SSH tunnel entry to Singapore (much closer) and repeat the same test:

  • Downloading file over the Internet: 4.68 MB/s.
  • Uploading file over the Internet: 2.91 MB/s.

Much better. That’s enough speed to cover my current needs, but I guess I’ll come back to speeding up my Nextcloud deployment sooner or later.