NextCloud Performance

micogg

Cadet
Joined
Nov 29, 2021
Messages
6
Hi all,

I am trying to figure out where I'm going wrong that is causing loss in performance.
Below is the hardware/setup and then my issue.

OS: TrueNAS-SCALE-22.02.3
NextCloud: Docker image
Pi-Hole: Uploaded docker image, not the official charts version
NGINX Proxy Manager: Running on separate Hassio image

CPU: AMD Ryzen 3 2200G
RAM: 32GB 3200
Network: 1GB Mobo interface
Boot: 512 SSD
Storage: (2) 2TB 7200 HDD's running Raid 1

Network switch is 1GB, all uploads to Nextcloud and testing is done over Wi-Fi
iperf results on the TrueNAS shell are on average 24MBytes

I'm using NextCloud to store family pictures. The upload to the NextCloud seems unreasonably slow.
I am trying to upload bulk images, which I understand affects performance. The images on average are 4mb.
It is taking 2-3 seconds for the next picture to begin uploading and then another 3-4 seconds for the 4mb picture to upload.
I'm uploading from the Android app both from inside and outside the network.
I was attempting to upload 450 images and it took ~2 hours to complete.

I am using Pi-Hole to handle the DNS request internally and forward the external DuckDNS address to the NGINX Proxy Manager to direct the traffic to the NextCloud instance. I may have it convoluted as well as a performance issue with NGINX running in Hassio on an RPI3.


Is anyone able to provide me insight into what I may be doing that is causing the slow performance, or is this the performance I should expect from my hardware and NextCloud? I feel like my network speeds with 24MB is way below the expected.

Thanks all.
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
My setup of Nextcloud is much faster. But, there are so many factors that could affect this its difficult to know what is happening.

What NIC is being used?
How is the storage pool configured (finer settings beyond just RAID level)? Are SMB shares the same speed or faster?
Which upload took 2 hours to complete? The one from inside or outside of the network? Was there any difference?
If you suspect pi-hole may be an issue have you tried testing without it?
Have you tested an app install of Nextcloud instead of a docker install?
 
Last edited:

micogg

Cadet
Joined
Nov 29, 2021
Messages
6
My setup of Nextcloud is much faster. But, there are so many factors that could affect this its difficult to know what is happening.

What NIC is being used?
How is the storage pool configured (finer settings beyond just RAID level)? Are SMB shares the same speed or faster?
Which upload took 2 hours to complete? The one from inside or outside of the network? Was there any difference?
If you suspect pi-hole may be an issue have you tried testing without it?
Have you tested an app install of Nextcloud instead of a docker install?
Thanks for the reply.

What NIC is being used?
- Realtek Semiconductor RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
How is the storage pool configured (finer settings beyond just RAID level)?
- The 2 drives are setup in Raid 1 with a single pool. NextCloud is setup within a dataset inheriting LZ4 compression. I've never setup a NAS before so I'm not sure what settings to point out here, but everything is default.
Are SMB shares the same speed or faster?
- I created a SMB share and transferring a 3.5GB folder with pictures, I'm getting an average of 22MB and with the same folder compressed, about 35MB. This is faster than NC. When I upload the same compressed file to NC, it is showing on average 6MB.
Which upload took 2 hours to complete? The one from inside or outside of the network? Was there any difference?
- It was outside the network. I ran a smaller transfer inside and it seems to be relatively the same performance.
If you suspect pi-hole may be an issue have you tried testing with
- If anything, I think NGINX may be the issue. I don't know if it's doing any process because if so, it's running on a 100mb RPI3 which is also running Hassio. I will try bypassing NGINX to see if it helps, but I believe I recall using the internal IP before requiring SSL and it having about the same performance. I'll try regardless.
Have you tested an app install of Nextcloud instead of a docker install?
- I misspoke. I'm using the NextCloud app, not a docker install.
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
What NIC is being used?
- Realtek Semiconductor RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

Have you looked into compatibility with TrueNAS for this NIC? I'm not sure if this one is problematic. But, Intel NIC are typically recommended for TrueNAS.

How is the storage pool configured (finer settings beyond just RAID level)?
- The 2 drives are setup in Raid 1 with a single pool. NextCloud is setup within a dataset inheriting LZ4 compression. I've never setup a NAS before so I'm not sure what settings to point out here, but everything is default.

There are some settings that can affect speed. But, if it's default this probably isn't the issue.

Are SMB shares the same speed or faster?
- I created a SMB share and transferring a 3.5GB folder with pictures, I'm getting an average of 22MB and with the same folder compressed, about 35MB. This is faster than NC. When I upload the same compressed file to NC, it is showing on average 6MB.

For large batches of small files, it sounds like some users are reporting those lower speeds. So, this might just be something that is improved with optimization in future versions.

But, I think it is unexpected to see such a drop-off in NC. I am not seeing that in my install.

Which upload took 2 hours to complete? The one from inside or outside of the network? Was there any difference?
- It was outside the network. I ran a smaller transfer inside and it seems to be relatively the same performance.

The same performance as the SMB test? Or, same as the slower 6MB speed?

Obviously, once you're outside the network we've introduced a lot of new factors...

If you suspect pi-hole may be an issue have you tried testing with
- If anything, I think NGINX may be the issue. I don't know if it's doing any process because if so, it's running on a 100mb RPI3 which is also running Hassio. I will try bypassing NGINX to see if it helps, but I believe I recall using the internal IP before requiring SSL and it having about the same performance. I'll try regardless.

Did you test that? Any difference?

Have you tested an app install of Nextcloud instead of a docker install?
- I misspoke. I'm using the NextCloud app, not a docker install.

Got it.

Did you move your application pool?

In theory, if it's on your slower drives, there is a chance that could affect the database speed and other processing NC is doing as it receives the files. I moved my applications onto an SSD pool and it has made a noticeable performance difference.
 

truecharts

Guru
Joined
Aug 19, 2021
Messages
788
Can we assume you meant the official Nextcloud App?

It's not the best performant setup of Nextcloud, without redis and high-performance file-notification backend....
How many files are there in a folder? That might be somewhat related...
 
Joined
Mar 24, 2023
Messages
8
Hi all,

I am trying to figure out where I'm going wrong that is causing loss in performance.
Below is the hardware/setup and then my issue.

OS: TrueNAS-SCALE-22.02.3
NextCloud: Docker image
Pi-Hole: Uploaded docker image, not the official charts version
NGINX Proxy Manager: Running on separate Hassio image

CPU: AMD Ryzen 3 2200G
RAM: 32GB 3200
Network: 1GB Mobo interface
Boot: 512 SSD
Storage: (2) 2TB 7200 HDD's running Raid 1

Network switch is 1GB, all uploads to Nextcloud and testing is done over Wi-Fi
iperf results on the TrueNAS shell are on average 24MBytes

I'm using NextCloud to store family pictures. The upload to the NextCloud seems unreasonably slow.
I am trying to upload bulk images, which I understand affects performance. The images on average are 4mb.
It is taking 2-3 seconds for the next picture to begin uploading and then another 3-4 seconds for the 4mb picture to upload.
I'm uploading from the Android app both from inside and outside the network.
I was attempting to upload 450 images and it took ~2 hours to complete.

I am using Pi-Hole to handle the DNS request internally and forward the external DuckDNS address to the NGINX Proxy Manager to direct the traffic to the NextCloud instance. I may have it convoluted as well as a performance issue with NGINX running in Hassio on an RPI3.


Is anyone able to provide me insight into what I may be doing that is causing the slow performance, or is this the performance I should expect from my hardware and NextCloud? I feel like my network speeds with 24MB is way below the expected.

Thanks all.
Same here, I'm a photographer I managed to get it all setup and seemed stable, even tested the my uploads through hotspots. Went on trip to New York, took my SD card out of camera and onto laptop and 2-3mbs for the upload. Did you ever figure this out?
 

Pini08

Cadet
Joined
Feb 24, 2023
Messages
6
Same here.
Trying to sync via NC desktop client all my gphotos takeout and upload not exeeds 5MB.
SMB share provides full 1gpbs transfer.

Any workaround for this issue?
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
Hi
No, its on raidz1 (4 x 1TB)
Is it related to nextcloud slow upload?

I couldn't guarantee it without testing directly. But, I believe so.

I recommend installing a pair of SSD in a mirror pool to run your applications from.
 
Top