Performance imbarazzanti nextcloud

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Situazione:
Intel N quad core + 8GB DDR4 su ubuntu 20.04 server
Due hdd da 500gb + 256gb ssd configurati in ZFS così:
2 hdd in mirroring
1 ssd in cache di scrittura

Installata ultima versione di nextcloud direttamente sulla macchina senza passare da docker, con cache redis e mariadb tutti installati come un comune mortale.
Usando il client ufficiale (appimage) e caricando qualche file, le prestaioni sono decenti, ma se provo a caricare qualcosa di più complesso (419 directories, 4507 files, nemmeno 500MB ma suddivisi in tante cartelle e sottocartelle) la velocità di sync è imbarazzante (se poi la interrompo e provo a riprenderla va in crash persino il client).
Provando a collegarmi in webdav ottengo prestazioni indecenti.

Pensando quindi a qualche problema causato da zfs (raid + cache) ho attivato samba e provato il trasferimento degli stessi file; eh niente, velocità quasi 100 volte maggiore.
Naturalmente passando da samba scavalco tutto nextcloud..

Tutti gli eventuali tuning di php e mariadb sono stati portati a casa con successo, ma senza miglioramenti..


Qualche consiglio?
 

jeyhw

Utente Attivo
711
86
Magari mi sbaglio. ma ricordo di aver letto da qualche parte che settare la cache di scrittura a volte è controproducente. Se ritrovo quell'articolo magari te lo passo.
Perché non prendi un altro ssd e lo metti in mirror con quello che già hai?
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Provato anche togliendo l'ssd, o anche settandolo in cache di letture.
Non cambia di una virgola.
Onestamente deve funzionare anche con hard disk meccanici, in quanto la velocità di scrittura che ottengo è qualcosa di qualche K al secondo, non M!
 

jeyhw

Utente Attivo
711
86
Provato anche togliendo l'ssd, o anche settandolo in cache di letture.
Non cambia di una virgola.
Onestamente deve funzionare anche con hard disk meccanici, in quanto la velocità di scrittura che ottengo è qualcosa di qualche K al secondo, non M!
Anche io avevo velocità modeste quando usavo raiz1 su Proxmox. Non mi sono mai posto troppo il problema perché davo sempre la colpa all'hardware vetusto,e alla fine poco mi importava perché stavo solo sperimentando per imparare nuove tecnologie, ma adesso mi fai pensare che forse le scarse performance potevano anche essere dovute a qualcos'altro. Chissà
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Il problema è che in smb le performance salgono esponenzialmente.
MariaDB lavora bene, ho provato uno script scritto da me che esegue 1000 insert, 1000 update e 1000 delete e lo esegue nei tempi che mi aspetto.
Bah, proverò a reinstallarlo passando da docker, magari mi son perso qualcosa
 
  • Mi piace
Reazioni: jeyhw

jeyhw

Utente Attivo
711
86
Il problema è che in smb le performance salgono esponenzialmente.
MariaDB lavora bene, ho provato uno script scritto da me che esegue 1000 insert, 1000 update e 1000 delete e lo esegue nei tempi che mi aspetto.
Bah, proverò a reinstallarlo passando da docker, magari mi son perso qualcosa
ok. fammi sapere per piacere
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Ok, rifatto installazione, rimosso il raid in zfs e messo un ssd.
Reinstallato tutto su un ssd sata,senza cache, senza redis o altri tool. Semplicemente installato nexcloud + mysql, ma le performance sono altamente discutibili!
Il trasferimento tramite webdav di circa 2000 files (dimensione totale 9Mb) richiede 21 minuti ad una velocità di 6kB/sec !
1682330853533.png
 

EmanueleC

Utente Èlite
5,636
1,841
CPU
Ryzen 5 2600x
Dissipatore
stock
Scheda Madre
ROG STRIX B450-F GAMING
HDD
OS: WD BLue SN570 500GB, Dati: 1TB Toshiba p300, Game: 2TB Toshiba P300
RAM
Corsair DDR4 3000 Mhz 2x8 GB
GPU
AMD Radeon RX 6600
PSU
Seasonic Focus Gold 450W
Case
BitFenix Neos
OS
Fedora Linux
Ok, rifatto installazione, rimosso il raid in zfs e messo un ssd.
Reinstallato tutto su un ssd sata,senza cache, senza redis o altri tool. Semplicemente installato nexcloud + mysql, ma le performance sono altamente discutibili!
Il trasferimento tramite webdav di circa 2000 files (dimensione totale 9Mb) richiede 21 minuti ad una velocità di 6kB/sec !
Visualizza allegato 458307
Hai provato a usare Btrfs invece di ZFS, ovviamente se sei su Linux.
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11

EmanueleC

Utente Èlite
5,636
1,841
CPU
Ryzen 5 2600x
Dissipatore
stock
Scheda Madre
ROG STRIX B450-F GAMING
HDD
OS: WD BLue SN570 500GB, Dati: 1TB Toshiba p300, Game: 2TB Toshiba P300
RAM
Corsair DDR4 3000 Mhz 2x8 GB
GPU
AMD Radeon RX 6600
PSU
Seasonic Focus Gold 450W
Case
BitFenix Neos
OS
Fedora Linux
Proverò anche questa soluzione
A patto di avere un kernel recente, comunque. Ma i filesystem COW per i database non sono l'ideale.
Altrimenti valuterei un raid software con xfs.
Ho cercato un po' e forse nextcloud si può usare con sql (sono di fretta e non ho letto il link, spero ti sia di aiuto per un approfondimento)? In caso c'è una funzionalità da disabilitare che migliorerà di molto le performance (non so se lo ha anche mysql):

 
Ultima modifica:

r3dl4nce

Utente Èlite
16,926
9,250
Se trasferisci un unico file grande come si comporta? Non lavoro particolarmente con nextcloud, ma a livello di file system il problema del rallentamento dovuto ai metadata (tanti file piccoli richiedono scritture maggiori dovuto all'aggiornamento dei metadata) è standard

Altra verifica, hai attiva la scansione antivirus dei file in upload? Magari ti rallenta quello
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Singolo file da 4.4GB lo ha trasferito attorno i 65-77 MB/sec .
Ok, trovato l'inghippo.
Il problema però è che anche attivando un redis, ottengo prestazioni troppo basse nel trasferimento di file piccoli. Potrei provare a passare ad SQLite invece di MySQL.. Oppure, soluzione overkill, ho un A10 7800 fermo che potrei trasformare in server redis + mysql solo per questo scopo xD
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Per curiosità ho rifatto l'installazione di nextcloud usando sqlite come db..eh niente, stesso problema di performance.
Così ho deciso di spostare il db (mysql) interamente su un altro computer che ha un ryzen 5 5500u ed ottengo stesso problema.

Dalla disperazione ho provato a tirar su una macchina con Arch e con l'immagine docker ufficiale di nexcloud; le performance sullo stesso pool di dati ha raddoppiato le velocità, da 6Kb/sec siamo a 12Kb/sec con circa 11 minuti per il trasferimento di circa 2000 files (9MB in totale).

Sarà qualche limitazione del container LXC? A sto punto stasera provo a rimuovere proxmox e fare tutto SO pulito
 

EmanueleC

Utente Èlite
5,636
1,841
CPU
Ryzen 5 2600x
Dissipatore
stock
Scheda Madre
ROG STRIX B450-F GAMING
HDD
OS: WD BLue SN570 500GB, Dati: 1TB Toshiba p300, Game: 2TB Toshiba P300
RAM
Corsair DDR4 3000 Mhz 2x8 GB
GPU
AMD Radeon RX 6600
PSU
Seasonic Focus Gold 450W
Case
BitFenix Neos
OS
Fedora Linux
Singolo file da 4.4GB lo ha trasferito attorno i 65-77 MB/sec .
Ok, trovato l'inghippo.
Il problema però è che anche attivando un redis, ottengo prestazioni troppo basse nel trasferimento di file piccoli. Potrei provare a passare ad SQLite invece di MySQL.. Oppure, soluzione overkill, ho un A10 7800 fermo che potrei trasformare in server redis + mysql solo per questo scopo xD
Hai abilitato WAL quando hai provato SQL?
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,553
12,944
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Hai abilitato WAL quando hai provato SQL?
Yes, ho provato anche così 'journal_mode = WAL' ma cambiato nulla.
L'unico test che mi manca da fare è rimuovere proxmox e provare con un'installazione pulita del SO.
Per assurdo ho provato pure a fare un container LXC con Alpine + Nextcloud in docker e non è cambiato nulla (provati sia il docker ufficiale, sia docker-compose cucinati sia installazione manuale)
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!