Installazione minima vs. standard di Ubuntu Server 24.04: cosa mostrano realmente i benchmark prestazionali

Installate Ubuntu Server 24.04 LTS su due macchine virtuali identiche, scegliendo l'installazione "Minimale" su una e quella "Standard" sull'altra, e poi vi chiedete se l'installazione più leggera renderà effettivamente più veloce la vostra applicazione. Questa è la domanda pratica alla base della maggior parte dei confronti tra "Minimale" e "Standard". La risposta è più complessa di un singolo punteggio di benchmark: l'installazione "Minimale" può ridurre l'utilizzo dello spazio di archiviazione, il numero di pacchetti installati, il software in background e talvolta la memoria inattiva o il lavoro di avvio, ma non garantisce automaticamente un kernel più veloce alla CPU, al database o al server web.

Ubuntu 24.04 LTS, nome in codice Noble Numbat, è supportato da Canonical per cinque anni, fino al 31 maggio 2029. Entrambi gli stili di installazione appartengono alla stessa famiglia di release di Ubuntu e possono utilizzare gli stessi repository di Ubuntu. La differenza sostanziale risiede in ciò che viene installato di default, non in un sistema operativo diverso ottimizzato per le prestazioni. L'archivio di pacchetti di Canonical descrive il primo ubuntu-server-minimalcome il "sistema minimo di Ubuntu Server", mentre il ubuntu-servermetapackage include una serie più ampia di strumenti di amministrazione del server e pacchetti consigliati. Consultare la definizione ufficiale del pacchetto minimo di Ubuntu Server , la definizione del pacchetto di Ubuntu Server e le note di rilascio di Ubuntu 24.04 LTS .

Finestre del terminale affiancate, etichettate Ubuntu 24.04 Minimal e Ubuntu 24.04 Standard, ciascuna delle quali mostra il comando free -h in un ambiente server-room.
Visualizzazione affiancata a scopo illustrativo delle finestre del terminale di Ubuntu Server 24.04 Minimal e Standard. I valori di memoria visualizzati sullo schermo sono a scopo illustrativo e non rappresentano misurazioni di benchmark; utilizzare i comandi seguenti per misurare le prestazioni dei propri sistemi.

Minima vs. Standard: cosa cambia realmente?

La configurazione Minimal è da intendersi come un punto di partenza più essenziale. Installa la piattaforma server di base ed esclude parte del software di utilità che un amministratore di server generico potrebbe aspettarsi. Il metapackage server standard include strumenti aggiuntivi come multiplexer di terminale, editor, utilità di risoluzione dei problemi, strumenti di supporto per la gestione dei repository e altri pacchetti utili per l'amministrazione interattiva.

ZonaInstallazione minimaInstallazione standard del server
Versione principale di UbuntuUbuntu 24.04 LTSUbuntu 24.04 LTS
Kernel e repositoryStessa famiglia di release e accesso all'archivioStessa famiglia di release e accesso all'archivio
Software predefinitoSet essenziale più piccoloInsieme più ampio orientato all'amministrazione
Ingombro del discoSolitamente inferiore in caso di nuova installazioneSolitamente più alto perché sono presenti più confezioni
Servizi inattivi e memoriaPuò essere inferiore, a seconda dei servizi installati e abilitati.Può essere più elevato, a seconda dei servizi abilitati.
Flusso di elaborazione dell'applicazioneNon è intrinsecamente più veloce una volta che i carichi di lavoro e i servizi sono abbinatiNon è intrinsecamente più lento una volta che i carichi di lavoro e i servizi sono abbinati
Gestione quotidianaPotrebbe essere necessario installare esplicitamente gli strumenti mancantiSono disponibili più utilità pronte all'uso.

Canonical descrive anche le immagini cloud minimali di Ubuntu come immagini volutamente più piccole che omettono pacchetti non essenziali e, in alcuni casi, anche pacchetti consigliati. Canonical afferma che queste immagini sono più veloci da distribuire, configurare e avviare rispetto alle immagini base più grandi. Questa affermazione sulle immagini cloud supporta il meccanismo generale – meno software significa meno da trasferire, installare e inizializzare – ma non deve essere interpretata come un valore di riferimento universale per il programma di installazione ISO di Ubuntu Server. La documentazione sulle immagini cloud è disponibile alla pagina Immagini base e minimali di Ubuntu .

Perché le affermazioni sui parametri di riferimento variano così tanto?

I confronti prestazionali spesso combinano tre diverse domande. La prima riguarda l'ingombro: quanti pacchetti, quanto spazio su disco e quanta memoria vengono consumati prima dell'esecuzione del carico di lavoro? La seconda riguarda l'overhead di avvio: quanto tempo viene impiegato per attivare i servizi durante l'avvio del sistema? La terza riguarda le prestazioni del carico di lavoro: richieste al secondo, transazioni di database, tempo di compilazione, velocità di compressione o un'altra metrica dell'applicazione.

La configurazione minimale ha maggiori probabilità di mostrare un netto vantaggio nella prima categoria. Può anche migliorare la seconda se il sistema standard ha servizi aggiuntivi abilitati. La terza categoria è solitamente molto meno eclatante. Se entrambe le macchine eseguono lo stesso kernel, la stessa versione dell'applicazione, lo stesso database, lo stesso set di servizi e la stessa configurazione di CPU e storage, l'applicazione spesso non vede molti motivi per comportarsi in modo diverso. Un server web non diventa più veloce solo perché tmuxmanca vimun pacchetto di risoluzione dei problemi.

Ecco perché valori fissi come "La configurazione Minimal utilizza il 40% di RAM in meno" o "La configurazione Minimal è il 15% più veloce" dovrebbero essere trattati con cautela, a meno che l'autore non pubblichi la versione esatta di Ubuntu, lo stato dei pacchetti, la piattaforma di virtualizzazione, l'hardware, l'elenco dei servizi e il metodo di benchmark. Canonical non pubblica una tabella universale delle prestazioni tra la configurazione Minimal e quella Standard per ogni implementazione di Ubuntu Server 24.04, quindi questo articolo non ne crea una.

Eseguire un benchmark di Ubuntu Server 24.04 in modo equo

Il confronto più utile è quello che puoi riprodurre sul tuo hardware o sulla tua istanza cloud. Inizia con due installazioni pulite su risorse identiche. Usa la stessa versione di Ubuntu 24.04, lo stesso numero di CPU, la stessa allocazione di RAM, lo stesso tipo di disco virtuale, lo stesso filesystem, la stessa modalità firmware, lo stesso modello di rete e lo stesso host di virtualizzazione. Applica gli stessi aggiornamenti prima di effettuare la misurazione.

1. Registrare il numero di pacchetti e la dimensione installata

Conteggio dei pacchetti installati con:

dpkg-query -f '${binary:Package}
' -W | wc -l

Quindi controlla l'utilizzo del disco:

df -h /
sudo du -xsh /usr /var 2>/dev/null

Si tratta di misurazioni dell'ingombro, non della velocità dell'applicazione. Eseguitele immediatamente dopo lo stesso ciclo di aggiornamento su entrambi i sistemi.

2. Confrontare la memoria inattiva senza confondere la cache con i rifiuti

Utilizza free -h, ma concentrati sulla availablecolonna piuttosto che presumere che ogni megabyte memorizzato nella cache venga consumato in modo permanente. Linux utilizza intenzionalmente la RAM altrimenti inattiva per la cache del filesystem. Registra anche i servizi attivi in ​​modo da poter spiegare eventuali differenze:

free -h
systemctl --type=service --state=running
systemctl list-unit-files --state=enabled

Se Minimal consente di risparmiare memoria grazie all'assenza di tre servizi, si tratta di un risultato positivo. Se in seguito si installano e si abilitano gli stessi servizi, è probabile che il divario si riduca.

3. Misura il tempo di avvio, quindi identifica la causa

Systemd include strumenti di temporizzazione integrati:

systemd-analyze
systemd-analyze blame
systemd-analyze critical-chain

Esegui più avvii, scarta i valori anomali evidenti e confronta le mediane anziché un singolo avvio. Il tempo di avvio della macchina virtuale può essere influenzato dall'hypervisor, da cloud-init, dalla latenza dello storage, dal DHCP, dal firmware e dal carico di lavoro in background dell'host, quindi un singolo campione non fornisce prove sufficienti.

4. Testa il carico di lavoro che ti interessa davvero

Se il server eseguirà Nginx, PostgreSQL, Redis, Docker, un servizio Java o un'API Python, è necessario eseguire un benchmark di tale carico di lavoro dopo aver reso identico lo stack software. Il test chiave non è "quale sistema operativo appena installato è più leggero?", ma "la configurazione di base più leggera modifica il mio carico di lavoro di produzione dopo che entrambe le macchine contengono tutto il necessario per il carico di lavoro?".

Per i test che dipendono dalla CPU, utilizzare lo stesso binario e la stessa versione del benchmark su entrambe le macchine. Per i test di archiviazione, mantenere identici il filesystem, le opzioni di montaggio, il controller del disco virtuale, le impostazioni della coda e i criteri della cache. Per i test di rete, assicurarsi che entrambe le macchine virtuali condividano lo stesso percorso e non eseguire i benchmark simultaneamente se questi dovessero entrare in conflitto per le stesse risorse fisiche dell'host.

Che differenza di prestazioni ci si può aspettare?

Su un piccolo VPS, un host di container, un'implementazione simile a un'appliance o una flotta automatizzata, Minimal offre un vantaggio pratico perché ogni pacchetto non necessario consuma una combinazione di spazio di archiviazione, larghezza di banda per gli aggiornamenti, complessità dell'inventario o attenzione amministrativa. Un'immagine iniziale più piccola può anche ridurre i tempi di provisioning laddove le immagini devono essere trasferite o espanse ripetutamente.

Su un server generico gestito interattivamente da operatori umani, l'installazione standard potrebbe rappresentare il miglior compromesso. Gli strumenti aggiuntivi possono far risparmiare tempo durante la risoluzione dei problemi e il costo in termini di risorse di alcune utilità da riga di comando inattive è spesso trascurabile rispetto a un buffer pool del database, all'heap della JVM, al carico di lavoro dei container o alla cache dei file. La rimozione di pacchetti che non vengono mai eseguiti non libera magicamente cicli della CPU.

Il set di pacchetti standard non rappresenta una definizione fissa di "eccessiva complessità". Canonical può modificare le dipendenze e i consigli relativi ai pacchetti tramite aggiornamenti, e gli amministratori personalizzano comunemente entrambe le installazioni. Due server che inizialmente presentavano configurazioni diverse possono convergere nel tempo con l'aggiunta o la rimozione di pacchetti.

Minimo non significa supporto ridotto

Una preoccupazione comune è che la scelta di un'immagine Minimal comporti in qualche modo un supporto minore per il sistema operativo. La documentazione di Canonical relativa a Ubuntu Minimal in cloud afferma che le immagini minimal mantengono l'accesso all'archivio di Ubuntu e lo stesso modello di manutenzione della sicurezza delle immagini base. Ubuntu Server 24.04 LTS stesso rimane coperto dal ciclo di vita standard di manutenzione della versione. Ciò a cui si rinuncia è principalmente la comodità delle applicazioni preinstallate, non l'accesso al normale ecosistema di pacchetti.

Se un ambiente minimale è troppo scarno per l'amministrazione interattiva, Canonical fornisce unminimizeun'utilità per le immagini Minimal Ubuntu. Questa utility ripristina la documentazione e le traduzioni e installa pacchetti aggiuntivi pensati per rendere l'ambiente più comodo da usare. Canonical documenta il comando nella stessa documentazione di Minimal Ubuntu . Tuttavia, non bisogna dare per scontato che l'esecuzione di questo comando unminimizeproduca una corrispondenza byte per byte con ogni possibile installazione standard di un server; i pacchetti installati dipendono anche dal tipo di immagine, dalle scelte del programma di installazione, dall'architettura e dagli aggiornamenti.

Quale dovresti scegliere?

Scegli Minimal quando desideri una base controllata e riproducibile e sai già esattamente quali pacchetti sono necessari per la tua distribuzione. È particolarmente indicato per il provisioning automatizzato, le golden image, i worker CI, gli host di container, gli appliance edge e le macchine virtuali di piccole dimensioni, dove la disponibilità di spazio su disco o di memoria è fondamentale.

Scegli la modalità Standard quando la comodità per l'amministratore è più importante della necessità di ottimizzare le prestazioni. Spesso è la scelta più semplice per un server gestito manualmente, un sistema di laboratorio, un ambiente con frequenti attività di risoluzione dei problemi o una macchina in cui l'ingombro delle applicazioni è di gran lunga superiore al carico di lavoro del sistema operativo.

Se la tua decisione si basa esclusivamente sulla velocità di elaborazione, non scegliere in base a una percentuale generica ricavata da un'altra macchina. Installa entrambi su istanze di test identiche, normalizza lo stack applicativo e misura il tuo carico di lavoro reale.

Come verificare il risultato

Prima di dichiarare un vincitore, verifica cinque cose: entrambe le macchine devono utilizzare la stessa versione di Ubuntu 24.04 e lo stesso kernel; entrambe devono aver ricevuto gli stessi aggiornamenti; le impostazioni di CPU, RAM, disco, filesystem e virtualizzazione devono corrispondere; gli elenchi dei servizi in esecuzione devono essere stati acquisiti; e i benchmark delle applicazioni devono essere stati ripetuti un numero sufficiente di volte per evidenziare eventuali anomalie. Salva l'elenco dei pacchetti e i comandi di benchmark insieme ai risultati, in modo che il test possa essere riprodotto in seguito.

Una buona conclusione di solito distingue tra ingombro e prestazioni. Ad esempio: "In questo ambiente, Minimal ha utilizzato un numero inferiore di pacchetti installati e meno spazio su disco, mentre il benchmark dell'applicazione rientrava nella normale variabilità tra le diverse esecuzioni, dopo che entrambi i sistemi erano configurati in modo identico". Questo è più utile che affermare che un'installazione sia universalmente più veloce.

Per Ubuntu Server 24.04, Minimal è il punto di partenza più leggero; Standard è il punto di partenza più comodo. Il vantaggio in termini di prestazioni è più giustificabile in termini di ingombro e overhead di provisioning. Se ciò influisca sulla velocità di produzione è una questione che dovrebbe essere decisa dal proprio carico di lavoro, non dall'etichetta del programma di installazione.

Lascia un commento

Ubuntu: come reimpostare la password di root o utente

Ubuntu: come reimpostare la password di root o utente

Scopri come reimpostare una password utente Ubuntu dimenticata dalla modalità di ripristino, cambiare la password di un altro account locale e gestire in modo sicuro l'account root bloccato di Ubuntu.

Linux: come elencare tutti gli utenti

Linux: come elencare tutti gli utenti

Scopri come elencare tutti gli utenti su Linux con getent, /etc/passwd, cut e Bash compgen, inclusi gli account locali, di sistema e di directory.

Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile

Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile

Riparare GRUB su Ubuntu da una chiavetta USB avviabile: identificare le partizioni root ed EFI corrette, accedere all'installazione tramite chroot, reinstallare GRUB e ricostruire il menu di avvio.

Ubuntu: come elencare i pacchetti installati

Ubuntu: come elencare i pacchetti installati

Scopri come elencare i pacchetti installati su Ubuntu con apt, dpkg-query, Synaptic, Snap e Flatpak, inclusi i comandi manual-package ed export.

Linux: come scaricare un file da un URL tramite terminale

Linux: come scaricare un file da un URL tramite terminale

Scarica un file da un URL nel terminale Linux con wget o curl. Impara le operazioni di base di salvataggio, percorsi personalizzati, reindirizzamenti, URL multipli e comandi di ripresa.

Come utilizzare uno strumento di benchmark per CPU Linux

Come utilizzare uno strumento di benchmark per CPU Linux

Scopri come eseguire il benchmark di una CPU Linux con Geekbench 7, Sysbench e Hardinfo2, oltre alle impostazioni che rendono i confronti prestazionali più affidabili.

Debian: Come installare un file .deb [Guida]

Debian: Come installare un file .deb [Guida]

Scopri come installare un file .deb su Debian con APT, dpkg o GDebi, incluse le correzioni delle dipendenze e i controlli rapidi per la sicurezza e l'architettura del pacchetto.

Come giocare a Monster Hunter: World su Linux con Steam Proton

Come giocare a Monster Hunter: World su Linux con Steam Proton

Scopri come giocare a Monster Hunter: World su Linux con Steam Proton, dall'installazione di Steam e l'attivazione della compatibilità alla scelta di Proton e alla risoluzione dei problemi di avvio.

Come installare WebTorrent su Linux: desktop e riga di comando

Come installare WebTorrent su Linux: desktop e riga di comando

Scopri come installare WebTorrent su Linux utilizzando il pacchetto DEB ufficiale, il pacchetto RPM, il file ZIP portatile o l'interfaccia a riga di comando (CLI) di WebTorrent, attivamente supportata.

Come giocare a World of Warships su Linux con Steam Proton

Come giocare a World of Warships su Linux con Steam Proton

World of Warships non ha un client nativo per Linux, ma è possibile eseguire la versione Steam con Proton. Scopri come installarlo, scegliere Proton e risolvere i problemi di avvio più comuni.