How can I make downloads and uploads faster and more reliable?

Nextcloud version (eg, 20.0.5): 25.0.6
Operating system and version (eg, Ubuntu 20.04): Debian Bullseye
Apache or nginx version : nginx-core (<< 1.18.0-6.1+deb11u3.1~)
PHP version (eg, 7.4): PHP 7.4.33
Running a VM in Proxmox using dietpi amd64 image with 8 CPU cores and 4GB of RAM.


Screenshot taken after pressing “Download” in the webUI on a 48.4GB file and during the wait for the “Save as” dialog popup. Took the dialog 4.26min to show.

EDIT: It downloaded the file but the files is just 9,36GB in size!? No errors in the logs :-s

The issue you are facing:
Extremly slow response from server when trying to download/upload large files. Files will also fail most of the time. Trying to download a 8.2GB file from the browser takes 4min 20 sec before the “Save as” prompt is displayed. Download speeds are fine and close to max bandwidth.

Is this the first time you’ve seen this error? (Y/N):
N

The output of your Nextcloud log in Admin > Logging:

Will paste logs when I find something that seems relevant

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'passwordsalt' => 'REDACTED',
  'secret' => 'REDACTED',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'REDACTED',
    2 => 'REDACTED',
    3 => '*',
  ),
  'datadirectory' => '/mnt/dietpi_userdata/nextcloud_data',
  'dbtype' => 'mysql',
  'version' => '25.0.6.1',
  'hashingThreads' => 2,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/run/redis/redis-server.sock',
    'port' => 0,
  ),
  'overwrite.cli.url' => 'https://REDACTED.duckdns.org/nextcloud',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'REDACTED',
  'dbpassword' => 'REDACTED',
  'installed' => true,
  'instanceid' => 'oc372tajhr2f',
  'maintenance' => false,
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_from_address' => 'service',
  'mail_domain' => 'REDACTED.com',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'mail.REDACTED.com',
  'mail_smtpport' => '465',
  'mail_smtpname' => 'REDACTED',
  'mail_smtppassword' => 'REDACTED',
  'theme' => '',
  'loglevel' => 2,
  'tempdirectory' => '/mnt/nxt250GB/nxttemp/',
  'upload_tmp_dir = /mnt/nxt250GB/nxttemp/',
);

The output of your Apache/nginx/system log in /var/log/____:

Can't find this log

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

Will paste when I get error logs

I have also tried with the following in the /var/www/nextcloud/.user.ini file

mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
php_value max_input_time 3600
php_value max_execution_time 3600
php_value upload_max_filesize 100G
php_value post_max_size 100G
php_value upload_tmp_dir=/mnt/nxt250GB/nxttemp/
php_value client_max_body_size 10024M

I have also played around with the max_chunk_size value and tried 0 and 209715200 but don’t really notice any change.

Update to supported PHP 8.1
Also, are you sure you want to run the Diet Pi image for amd64 (that sounds like a bizarre choice for x86 hardware).

1 Like

Ah, thanks! What’s best practice to do this? On the OS side or how do I go about doing this?¨

You can learn about it from other forum threads or internet searches like Search results for 'php update 8.1' - Nextcloud community

It is an operating system related choice, or I suppose VM in your case.

hmm, found this over at the dietpi forums PHP v7.4 vs v8.x - #13 by MichaIng - General Discussion - DietPi Community Forum

doesn’t look too good. Will do some research and see if I can install PHP 8 somehow without having to wait for the Bookworm release

Debian Bullseye is shipped with PHP 7.4, Debian Bookworm with PHP 8.2. Hopefully in June Bookworm gets stable. Maybe you can use now Debian Testing/Bullseye with included PHP 8.2 and in June it gets stable.

I do not use Proxmox. But i think you must or can use “normal” images. Search installation guides for Nextcloud on Proxmox on the internet.

1 Like

Yep. That’s what I was thinking too…

@Jasse

  1. If you are running Proxmox on standard x86 hardware, I don’t see any advantage in running the DietPi image. DietPi is custom made for single board computers, has a custom kernel etc… I don’t know whether it has any disadvantages compared to a standard Debian image when running it in a VM, but it certainly has no advantages either. Unless maybe if you are running Proxmox on a DietPi.

  2. PHP 8.x on Debian 11 has already been discussed countless times here in the forums. Short version: You can either include Ondrej Sury’s repos, you can wait until Debian 12 becomes stable in June, or if you feel adventurous, you can change your package sources to bookworm, and do a dist-upgrade, which I wouldn’d recommend, especially if you are on a custom distro like DietPi.

In any case, make sure you have a current backup of your VM before you try anything.

1 Like

Thanks for the feedback and suggestions.

Reason I’m running dietpi is because I’m fimiliar with the distro. The main advantages being I know how it’s configured and has super great tools and config ui for nfs and other storages which make it a breeze to add these storages to nextcloud.

I’ll look into running a dedicated nextcloud vm instead for a dietpi distro that runs nextcloud. Thanks

3 Likes

Just reporting back that I ended up running the superbt VM from Nextcloud VM – T&M Hansson IT AB instead and I’m really happy with the speed and responsiveness from this version, not to mention what a breeze it was to set it up using the included config-script cheers :+1:

1 Like