ownCloud Infinite Scale vs Nextcloud 28: Analisi delle prestazioni e dell'utilizzo della RAM.

Sia ownCloud Infinite Scale che Nextcloud 28 offrono la sincronizzazione e la condivisione di file self-hosted, ma raggiungono questo obiettivo tramite architetture server molto diverse. Questa differenza è importante quando si cerca di prevedere la pressione sulla memoria, la latenza delle richieste, il comportamento di scalabilità e la quantità di lavoro di ottimizzazione necessaria per un'implementazione.

Innanzitutto, è fondamentale fare una precisazione: non esiste un valore universale affidabile come "Infinite Scale utilizza X MB mentre Nextcloud 28 ne utilizza Y MB". Il consumo di RAM varia in base ai servizi abilitati, al numero di utenti simultanei, ai processi in background, ai backend di archiviazione, al numero di worker PHP, alla cache, alle anteprime, all'integrazione con Office e alle applicazioni. La documentazione ufficiale fornisce inoltre indicazioni diverse sul consumo di memoria per i due prodotti, quindi considerare tali dati come un parametro di riferimento diretto sarebbe fuorviante.

Esiste anche una questione relativa al ciclo di vita. Nextcloud 28, noto anche come Hub 7, è stato rilasciato a dicembre 2023 e ha raggiunto la fine del suo ciclo di vita a dicembre 2024; l'ultima versione 28.x è stata la 28.0.14. A partire da ottobre 2026 non riceve più correzioni di bug o aggiornamenti di sicurezza. Questo confronto è quindi più utile per comprendere un'installazione Nextcloud 28 esistente o per pianificare una migrazione, non per consigliare una nuova implementazione di Nextcloud 28. Consultare il programma ufficiale di manutenzione e rilascio di Nextcloud .

Confronto architetturale tra ownCloud Infinite Scale e Nextcloud 28, che mostra i servizi Go da un lato e uno stack composto da PHP, database e cache dall'altro.
Un confronto architetturale semplificato. Illustra perché il comportamento della RAM differisce tra le due piattaforme; non si tratta di un benchmark misurato né di una prova di throughput.

La differenza architettonica è alla base della maggior parte dei compromessi prestazionali.

ownCloud Infinite Scale, spesso abbreviato in oCIS nella configurazione e nella documentazione, è costruito come un insieme di servizi Go. Il suo runtime predefinito può avviare i servizi integrati all'interno di un singolo processo e supervisionarli con un supervisore incorporato. ownCloud afferma che questa architettura contribuisce a ridurre l'utilizzo della memoria, mentre i singoli servizi possono anche essere spostati su altri nodi quando un'implementazione deve scalare orizzontalmente. La piattaforma non richiede PHP o un database applicativo tradizionale per il suo funzionamento principale. Consultare la documentazione ufficiale sull'architettura di Infinite Scale e la panoramica sull'amministrazione di Infinite Scale .

Nextcloud 28 segue il modello standard delle applicazioni web PHP. Un tipico stack di produzione include un server web come Apache o Nginx, worker PHP o PHP-FPM, un database relazionale supportato e, solitamente, una cache in memoria. La documentazione ufficiale di Nextcloud raccomanda APCu per la cache locale e Redis per la cache distribuita e il blocco transazionale dei file nelle implementazioni aziendali. Questo rende Nextcloud estremamente flessibile, ma significa anche che il budget di memoria totale è distribuito su diversi processi e servizi indipendenti, anziché essere rappresentato da un singolo processo server.

Utilizzo della RAM: cosa significano realmente i dati ufficiali

Zonascalabilità infinita di ownCloudNextcloud 28
Guida alla memoria pubblicataL'esempio Compose di ownCloud per la produzione raccomanda almeno 4-6 GB per la distribuzione completa dell'esempio.Nextcloud 28 documenta un minimo di 128 MB di RAM per processo e raccomanda almeno 512 MB per processo.
È possibile confrontare direttamente questi dati?No. Il dato relativo a Infinite Scale si riferisce a un esempio di implementazione che include software aggiuntivo come i componenti per l'ufficio online, mentre il dato relativo a Nextcloud si riferisce al singolo processo anziché alla RAM totale del server.
Variabili principaliServizi abilitati, integrazione con Office, antivirus, tipo di archiviazione, topologia del servizio, concorrenza.Conteggio dei worker PHP-FPM, applicazioni, anteprime, buffer del database, Redis/APCu, processi cron/in background, concorrenza.

L'esempio di implementazione in produzione attualmente disponibile su ownCloud raccomanda esplicitamente un minimo di 4-6 GB di memoria e indica la necessità di ulteriore memoria quando la scansione antivirus è abilitata. Tale cifra non deve essere interpretata come "oCIS consuma sempre 4-6 GB". La configurazione documentata include anche i pacchetti Office e altri componenti necessari. Consultare l' esempio di implementazione in produzione ufficiale di Infinite Scale .

Nextcloud 28 adotta un approccio diverso nella documentazione dei requisiti: afferma che il fabbisogno di RAM varia notevolmente in base a utenti, applicazioni, file e attività, quindi indica un minimo di 128 MB e un valore consigliato di 512 MB per processo . Questo è particolarmente importante con PHP-FPM, dove diversi processi worker possono essere attivi contemporaneamente. Un server configurato per un'elevata concorrenza può quindi riservare molta più memoria rispetto al valore per processo suggerito. Consultare i requisiti di sistema di Nextcloud 28 .

Quale dei due risulterà probabilmente più leggero con carichi di lavoro incentrati sui file?

Se il carico di lavoro consiste principalmente in autenticazione, navigazione, sincronizzazione, caricamento, download e condivisione, il runtime Go e la progettazione dei servizi di Infinite Scale possono ridurre parte del sovraccarico associato a uno stack di richieste PHP. ownCloud utilizza internamente anche protocolli binari come gRPC per alcune parti della comunicazione tra i suoi servizi. Dal punto di vista architetturale, questo offre a Infinite Scale una valida soluzione per raggiungere un'elevata concorrenza senza moltiplicare i processi worker PHP.

Ciò non garantisce un vantaggio universale in termini di throughput. La latenza di archiviazione può incidere in modo significativo sulle operazioni sui file, TLS e i proxy inversi aggiungono overhead, il comportamento dei metadati dipende dal driver di archiviazione scelto e i servizi opzionali ne modificano il profilo. La documentazione di ownCloud relativa all'archiviazione descrive esplicitamente come ottimizzare la memoria e le prestazioni in modo diverso per le implementazioni con archiviazione locale, NFS e S3. Vedere Considerazioni sull'archiviazione su scala infinita .

Anche Nextcloud 28 può offrire prestazioni elevate se configurato correttamente. La sua documentazione afferma che la cache in memoria può migliorare significativamente le prestazioni del server. APCu evita di ricostruire ripetutamente in locale gli oggetti PHP utilizzati di frequente, mentre Redis può gestire i dati della cache distribuita e il blocco transazionale dei file. Per un singolo server aziendale, Nextcloud 28 consiglia APCu per la cache locale e Redis per la cache distribuita e il blocco. Consultare la documentazione di Nextcloud 28 sulla cache in memoria .

Dove va la RAM di Nextcloud

Per Nextcloud 28, l'utilizzo della RAM di Nextcloud è in realtà la somma di diversi budget. I worker di PHP-FPM consumano memoria in base ai moduli PHP abilitati e al codice dell'applicazione. Il database necessita di buffer e memoria di connessione propri. Redis consuma memoria per gli oggetti memorizzati nella cache e i blocchi. APCu mantiene una cache locale in ogni ambiente PHP. La generazione di anteprime, le integrazioni antivirus, Talk, la ricerca full-text e le applicazioni di terze parti possono aggiungere i propri processi o attività in background.

Questo modello offre agli amministratori numerosi strumenti di ottimizzazione. Ridurre il numero di worker di PHP-FPM può mantenere attivo un server di piccole dimensioni con RAM limitata, ma le richieste potrebbero accumularsi in coda sotto carico. Aumentare il numero di worker migliora la concorrenza fino a quando CPU, RAM, connessioni al database o I/O non diventano il collo di bottiglia. L'utilizzo di Redis per la cache locale può far risparmiare memoria in ambienti con risorse limitate, ma la documentazione di Nextcloud afferma che APCu è più veloce per la cache locale quando è disponibile RAM sufficiente. Si tratta di un vero e proprio compromesso tra prestazioni e memoria, piuttosto che di un'unica impostazione consigliata per ogni host.

Dove va la RAM di Infinite Scale

Infinite Scale è composto da numerosi servizi logici, ma il suo runtime integrato può gestire i servizi incorporati all'interno di un singolo processo ed eseguire ciascun servizio in una routine Go. ownCloud descrive questo approccio come un modo semplice per impacchettare la piattaforma, consentendo al contempo la separazione dei singoli servizi per le implementazioni distribuite. Il supervisore integrato riavvia anche i servizi non funzionanti ed è specificamente documentato come in grado di ridurre l'utilizzo della memoria rispetto all'esecuzione di ogni servizio sotto un supervisore esterno.

Tale consolidamento può semplificare la comprensione del comportamento delle risorse su un singolo host, ma non rende fisso l'utilizzo della RAM. L'aggiunta di Collabora o OnlyOffice, la scansione antivirus, servizi di identità esterni, componenti basati su Redis o NATS, l'elaborazione delle miniature o cache più grandi modificano l'ingombro. Anche lo spostamento dei servizi in container separati o pod Kubernetes può aumentare l'overhead di base, migliorando al contempo l'isolamento e la scalabilità orizzontale.

Confronto delle prestazioni in base al carico di lavoro

Carico di lavoroProbabile vantaggioPerché
Dispositivo compatto per la sincronizzazione dei file con poche integrazioni.Scala infinitaUn minor numero di componenti tradizionali dello stack web e l'assenza di un livello PHP/database obbligatorio per la piattaforma principale possono semplificare l'esecuzione.
Ampio ecosistema di applicazioni e implementazione basata su software collaborativo.NextcloudL'ecosistema più ampio delle applicazioni PHP potrebbe essere più importante della pura efficienza del server, sebbene la pianificazione della RAM diventi più rilevante.
Elevata concorrenza con operazioni sui file prevedibiliInfinite Scale è architettonicamente attraenteI servizi Go e un modello di servizio scalabile evitano di vincolare la concorrenza direttamente a un ampio pool di worker PHP.
Infrastruttura LAMP/LEMP ottimizzata esistenteNextcloud può essere più semplice dal punto di vista operativoI team già esperti in PHP-FPM, MariaDB/PostgreSQL, Redis e ottimizzazione dei server web potrebbero preferire la configurazione a loro familiare.
Budget di RAM molto ridottoDipende dall'ambito delle funzionalitàNessuno dei due produttori fornisce dati ufficiali che indichino un vincitore assoluto in termini di RAM totale; è consigliabile disattivare i servizi opzionali e misurare il carico di lavoro effettivo.

Come valutarli in modo equo

Se le prestazioni sono il fattore determinante, confrontate le prestazioni di entrambi i prodotti sullo stesso hardware anziché affidarvi a screenshot della community o a valori di memoria isolati. Utilizzate lo stesso dispositivo di archiviazione o backend, percorso di rete, metodo di terminazione TLS, set di file di test, numero di utenti e comportamento del client. Effettuate il riscaldamento delle cache prima di registrare i risultati a regime, ma misurate anche il comportamento a freddo separatamente.

Tra le metriche utili figurano la latenza mediana e al 95° percentile per l'elenco delle directory, le operazioni sui metadati, il caricamento di file di piccole dimensioni, il caricamento di file di grandi dimensioni, il download e la creazione di condivisioni; le richieste completate al secondo; la memoria residente totale utilizzata da ogni processo correlato; l'utilizzo della CPU; gli IOPS di archiviazione; la latenza del database per Nextcloud; e l'impatto dei processi in background. Misurare la RAM inattiva separatamente dalla RAM utilizzata, perché un sistema che sembra più piccolo inattivo potrebbe allocare molta più memoria durante l'utilizzo simultaneo.

Per Nextcloud, bisogna considerare il server web, PHP-FPM, il database, Redis e qualsiasi altro servizio applicativo aggiuntivo. Per Infinite Scale, bisogna considerare i servizi oCIS, oltre al reverse proxy, ai componenti di gestione delle identità, all'integrazione con Office, alle cache e ai servizi di archiviazione. Altrimenti, il risultato si ridurrebbe a un confronto architetturale mascherato da benchmark.

Quale dovresti scegliere?

Scegli ownCloud Infinite Scale quando la tua priorità è una piattaforma moderna incentrata sui file, apprezzi un'architettura di servizi basata su Go e desideri evitare il modello operativo con worker PHP e un database relazionale necessario per il server principale. È particolarmente interessante per le organizzazioni che pianificano la scalabilità orizzontale dei servizi o ambienti di condivisione file di grandi dimensioni.

Scegli una versione di Nextcloud supportata quando l'ecosistema di app Nextcloud, le integrazioni con software di groupware, le conoscenze amministrative pregresse o la compatibilità delle applicazioni sono più importanti della riduzione al minimo dei livelli di runtime. Se attualmente utilizzi Nextcloud 28, l'ottimizzazione delle prestazioni potrebbe comunque essere utile nel breve termine, ma il ciclo di vita della sicurezza è il motivo principale per pianificare un aggiornamento, poiché la versione 28 non è più supportata da dicembre 2024.

Se la decisione riguarda specificamente la RAM, i requisiti pubblicati da entrambi i fornitori non giustificano la proclamazione di un vincitore assoluto. L'architettura di Infinite Scale elimina PHP e un database applicativo tradizionale dallo stack principale ed è progettata specificamente per un'esecuzione efficiente dei servizi, mentre Nextcloud offre controlli di caching maturi e una concorrenza PHP altamente configurabile. La scelta più sensata è confrontare gli stack di produzione completi che si intendono effettivamente utilizzare, impiegando lo stesso carico di lavoro e misurando la RAM totale del sistema anziché quella di un singolo processo.

Lascia un commento

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

Confronta sei server e collettori syslog gratuiti per Windows e Linux, inclusi strumenti con interfaccia grafica, opzioni open source, funzionalità di ricerca, avvisi e trasporto sicuro.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Scopri cosa fa Microsoft IIS, come funzionano la sua pipeline di richieste e i pool di applicazioni e quando Apache, NGINX o Caddy potrebbero essere più adatti alle tue esigenze di server web.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Diagnostica i picchi di utilizzo della CPU del browser Jitsi Meet e riduci il carico del client controllando i riquadri video, gli effetti della fotocamera, la grafica del browser e le impostazioni dell'host.

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Monitora lo stato di salute, il carico della conferenza e il traffico di Jitsi Videobridge con il suo endpoint Prometheus integrato, quindi esplora e visualizza i dati in Grafana.

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Configura un dominio personalizzato per Jitsi Meet Docker con DNS, URL pubblico, HTTPS, Let's Encrypt, porte del firewall, impostazioni NAT e verifica end-to-end.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Scopri come diagnosticare e risolvere l'avviso di configurazione di PHP OPcache di Nextcloud controllando l'SAPI PHP attivo, i limiti di dimensionamento, i commenti e le impostazioni di riconvalida.

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere i problemi di migrazione del database Kopano dopo un aggiornamento di MySQL o MariaDB verificando i backup, le versioni del server, le modalità SQL, il set di caratteri, lo stato dello schema e i log.

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Collega Nextcloud a LDAP o Active Directory con trasporto sicuro, filtri per utenti e gruppi, attributi di accesso e un'implementazione collaudata.

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvi i problemi di notifiche di Element Android sui telefoni senza Google configurando UnifiedPush, le autorizzazioni Android, le impostazioni della batteria ed eseguendo test di verifica affidabili.