Hi everyone, thanks for the attention, first post here.
Issue
With the web interface, I can reach at maximum of 50 Mbps when uploading a file, and a maximum of 15 Mbps when downloading a file; but frequently the connection “drops” to 0 Mbps or get disconnected, halting the upload or denying the download all together.
A similar behaviour can be seen with the NextCloud Sync-App for Windows.
Extra infos
Here’s how the network look like:
The SuperMicro server is used as compute node and the HP server as storage node.
Here’s how the NextCloud istance look like disk-wise:
The host VM is installed on SuperMicro HDD, with an SSD cache disk and 1 Gbps connection to the NFS share.
Extra info:
- With
iperf
, I tested the connection computer-to-server, and server-to-server, and all reported pretty close to 1 Gbps connection, so the problem is not on the network. - The download/upload speeds were monitore with
nethogs
- All the test were conducted in local LAN with 1 Gbps connection
- The action of saving in the NFS share add some delay, but the connection is a solid ~120 MB/s between the 2 servers, so is not the (main) problem
- I tried swapping the SuperMicro CPU for faster one but no change
- I triend changing
config:app:set files max_chunk_size
from 10MB to 2GB and got an improvement, tried to disable it all together with--value 0
but got no further improvement - I installed both APCu and Redis, but they have given no improvement
- PHP MPM is set to
event
- During the file transfer only one CPU core was used at 100%, while the others were idle
Specs & installed programs
SuperMicro specs
- CPU:
2x Intel L5640 (12C/24T @ 2.2GHz)
- RAM:
48GB DDR3 ECC
- Main disk:
1TB Seagate 7200RPM
- Cache Disk:
480GB Intel SSD
- OS:
Proxmox 8.2.1
HP specs
- CPU:
2x Intel E5-2630 V2 (12C/24T @ 2.6GHz)
- RAM:
64GB DDR3 ECC
- Disks:
10x 500GB 7200RPM
- OS:
TrueNAS 13
NextCloud VM specs
- CPU:
8x vCPU
- RAM:
32GB
- Main disk:
1x 16GB SCSi
- Cache disk:
1x 480GB SCSi
- Network:
1x Proxmox VirtIO
- OS:
Ubuntu 24.04 LTS server (minimazed)
The software stack installed on the VM of this NextCloud istance:
- Nextcloud version :
29.0.2.2
- OS version:
Ubuntu 24.04 LTS server (minimazed)
- Apache:
Apache 2.4.58
- PHP-FPM:
8.3.6
- MariaDB:
10.11.7
- APCu:
5.1.22
- Redis:
5.3.7
Configs
NextCloud config.php
$CONFIG = array (
'instanceid' => '******',
'passwordsalt' => '******',
'secret' => '******',
'trusted_domains' =>
array (
0 => 'nextcloud.local',
1 => '10.101.0.10',
2 => '******',
),
'datadirectory' => '/mnt/NEXTCLOUD_DATA',
'dbtype' => 'mysql',
'version' => '29.0.2.2',
'overwrite.cli.url' => 'http://nextcloud.local',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'nextcloud',
'installed' => true,
'maintenance' => false,
'loglevel' => 0,
'memcache.local' => '\\OC\\Memcache\\APCu',
'cache_path' => '/mnt/NEXTCLOUD_CACHE',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0,
'password' => '',
),
'skeletondirectory' => '',
'htaccess.RewriteBase' => '/',
);
fpm php.ini parameters
max_execution_time = 3600
memory_limit = 4G
post_max_size = 64G
upload_max_filesize = 64G
max_file_uploads = 20
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=1024
opcache.interned_strings_buffer=32
opcache.validate_timestamps=0
opcache.revalidate_freq=60
opcache.jit=1255
opcache.jit_buffer_size=256M
fpm www.conf parameters
pm = static
pm.max_children = 64
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
fpm 20-apcu.ini parameters
extensions=apcu.so
apc.enabled=1
apc.enable_cli=1
Last words
This is the most useful information I think I could of to share.
If you have any suggestion, to what to share more, please let me know.
It’s been a rabbit-hole of more than couple of weeks for this problem, I originally started on a Raspberry Pi 4B as compute node; after that I migrated to bare-metal Ubuntu with a noticeable improvement from the Pi, and then migrated to VM Ubuntu with no difference to bare-metal.
I hope some of you, more experienced than me, know what magic I need to do to make it more “worky”