-: In questa lezione
parleremo dei problemi di prestazioni.
In particolare, le prestazioni lente o lentissime
che si osservano nel tempo su un sistema.
I problemi di prestazioni
sono una delle cose più difficili
da diagnosticare correttamente all'interno di un sistema informatico,
perché possono essere legati all'hardware,
al software o a una combinazione dei due.
Per questo motivo, è davvero difficile capire quale
sia esattamente il problema, ma in questa
lezione vi fornirò
un paio di linee guida generali.
Quando si iniziano a risolvere i problemi di prestazioni, si deve
sempre utilizzare un approccio strutturato e cercare
di suddividere in compartimenti i
diversi problemi che potrebbero
essere all'origine del problema.
Per iniziare, quindi, dobbiamo
sapere che cos'è una linea di base per il
nostro sistema.
Per esempio, diciamo che ho un sistema con un
processore da tre gigahertz, 16
gigabyte di RAM, un disco
rigido da un terabyte e una
scheda di rete da un gigabit al secondo.
Ora, conoscere tutte queste specifiche va bene,
ma se non ho mai toccato quel
sistema prima o non l'ho mai guardato, non
so davvero come funzionano tutti insieme.
Quindi, quando si ha un nuovo sistema,
si vuole osservare quel sistema
e il modo in cui funziona attualmente.
Riprendendo l'esempio del sistema che vi ho appena fornito,
quando si riceve per la prima volta un sistema nuovo
di zecca, si dovrebbe sapere cosa si prova a essere normali.
A che velocità funziona davvero?
Quanta RAM viene utilizzata quotidianamente
quando è caricato solo il sistema
operativo o il sistema operativo e una suite per ufficio aperta?
Dobbiamo anche sapere quanto è veloce la rete.
Perché solo perché abbiamo una scheda da un gigabit
al secondo, non significa
che stiamo ottenendo un gigabit al
secondo di throughput.
Oltre a tutto ciò, dobbiamo
esaminare il disco rigido.
Ho detto che si trattava di un disco rigido da un terabyte,
ma non vi ho detto se si trattava
di un disco a stato solido?
Si trattava di un disco rigido che funzionava
a 5400 RPM, o a 7.200 RPM, o a 10.000 RPM.
E tutti questi avranno prestazioni diverse.
Ora, una volta che
si conoscono le prestazioni normali,
si può determinare
quali sono le prestazioni lente o lentissime
e quindi individuare le aree
su cui concentrare gli
sforzi per la risoluzione dei problemi.
Ora, oltre a poter identificare quale
di questi sottosistemi sia effettivamente
il problema in base alle prestazioni
lente che stiamo osservando, possiamo apportare modifiche
alla configurazione per ottimizzare
tali sottosistemi.
Per esempio, se iniziamo a vedere
che l'utente medio
esaurisce continuamente la RAM, potremmo
voler fare un upgrade da
otto gigabyte a 16 gigabyte, o da 16
gigabyte a 32 gigabyte.
Perché anche in questo caso si tratta
di una delle cose più semplici e facili da fare per aumentare
le prestazioni di un sistema.
Ma se le prestazioni sono lente e si guarda alla memoria
libera e si hanno otto gigabyte
di memoria libera su 16, l'aggiornamento a 32 probabilmente
non farà molto per voi in termini di prestazioni,
perché non state già usando tutta la memoria
che avete.
Sono questi gli aspetti a
cui bisogna pensare
quando si risolvono i problemi di prestazioni.
Oltre a tutto questo,
bisogna anche assicurarsi
che il sistema non si surriscaldi.
Molti dei nostri sistemi
moderni sono dotati di throttling sulle unità di elaborazione
per proteggersi dal surriscaldamento.
Quindi, se il sistema inizia a scaldarsi,
il processore che dovrebbe funzionare a tre gigahertz
potrebbe scendere a due gigahertz
o a uno. 5 gigahertz per cercare
di ridurre il carico termico che si crea e aiutare
il sistema a non surriscaldarsi.
Perché se un sistema si surriscalda,
potrebbe riavviarsi o spegnersi.
Quindi, molti dei sensori di temperatura
rallentano componenti come l'unità
di elaborazione grafica o l'unità di
elaborazione centrale per ridurre
il carico termico complessivo.
Se il sensore di temperatura è difettoso,
questo può indicare che la temperatura
è più alta di quella reale e quindi la CPU inizierà
a ridurre le prestazioni per compensare
questa situazione.
Tenete quindi presente anche questo aspetto.
Un'altra cosa da considerare quando
si risolvono i problemi di prestazioni è la
presenza di eventuali configurazioni errate.
Ad esempio, supponiamo di aver effettuato un aggiornamento
della memoria da otto a 16 gigabyte.
Quando lo avete fatto, potreste
aver tolto due moduli da quattro gigabyte
e inserito due nuovi moduli da otto gigabyte,
ma li avete inseriti negli slot zero e uno, invece
che negli slot zero e due.
Quindi la memoria non funziona in modalità bicanale.
Invece, funziona solo in modalità monocanale.
Le prestazioni saranno più lente rispetto
al vecchio sistema
a otto gigabyte, perché si potrà
accedere solo a 64 bit alla volta invece
che a 128, dimezzando di fatto le prestazioni
anche se la memoria è raddoppiata.
Quindi, anche in questo caso, questo tipo di configurazioni
errate possono avere effetti a cascata su tutto il sistema.
Un'altra configurazione errata comune
potrebbe essere quella del sistema
operativo o del software applicativo stesso.
Ad esempio, ho visto molte persone che aumentano
la dimensione della pagina all'interno di Windows o
lo spazio di swap all'interno di Linux.
Si pensa di ottenere prestazioni migliori, ma in
realtà si ottiene solo una
maggiore quantità di memoria virtuale,
che provoca un maggiore swapping
dalla memoria fisica al disco rigido o al
dispositivo a stato solido,
rallentando così l'intero sistema.
È quindi necessario tenere a mente tutti questi aspetti
quando si inizia a configurare il sistema.
E ricordate che nessuno di questi elementi funziona in modo isolato.
Quando si verificano questi problemi
di prestazioni, può trattarsi di una miriade di fattori diversi
che agiscono contemporaneamente contro di voi.
Potrebbe essere il sistema
operativo, le applicazioni,
le configurazioni, la rete o l'hardware.
La capacità di identificare
questo aspetto, suddividendo tutto in
sottosistemi e identificando
i problemi di prestazioni, sarà
fondamentale per i tecnici
sul campo.