Trovare il collo di bottiglia

Gli aspetti del sistema più interessati alla misurazione sono l'utilizzo della memoria e della CPU.

È possibile che anche dopo lunghi sforzi di ottimizzazione la CPU non sia abbastanza potente per gestire il carico di lavoro, nel qual caso è richiesto un aggiornamento della CPU. Allo stesso modo, se il programma è in esecuzione in un ambiente in cui non dispone di memoria sufficiente dopo l'ottimizzazione, è necessario aumentare la dimensione della memoria.

Dato che qualsiasi problema di prestazioni potrebbe essere causato da uno dei diversi fattori, è necessario esaminare diverse aree per eliminare ciascuno di essi. Innanzitutto, determinare quale risorsa sta vincolando il sistema:
  • CPU
  • Memoria
  • Immissione / emissione (I/O)
A tale scopo, utilizzare il comando vmstat . Il comando vmstat produce un report compatto che descrive in dettaglio l'attività di queste tre aree:
> vmstat 1 10  
output:
kthr     memory             page              faults        cpu     
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa 
 0  0 189898   612   0   0   0   3   11   0 178  606 424  6  1 92  1
 1  0 189898   611   0   1   0   0    0   0 114 4573 122 96  4  0  0
 1  0 189898   611   0   0   0   0    0   0 115  420 102 99  0  0  0
 1  0 189898   611   0   0   0   0    0   0 115  425  91 99  0  0  0
 1  0 189898   611   0   0   0   0    0   0 114  428  90 99  0  0  0
 1  0 189898   610   0   1   0   0    0   0 117  333 102 97  3  0  0
 1  0 189898   610   0   0   0   0    0   0 114  433  91 99  1  0  0
 1  0 189898   610   0   0   0   0    0   0 114  429  94 99  1  0  0
 1  0 189898   610   0   0   0   0    0   0 115  437  94 99  0  0  0
 1  0 189898   609   0   1   0   0    0   0 116  340  99 98  2  0  0

L'esempio precedente mostra un sistema collegato alla CPU. Questo può essere visto come l'utente (us) più i valori della CPU di sistema (sy) uguali o si avvicinano a 100. Un sistema collegato alla memoria mostra valori significativi di page in (pi) e page out (po). Un sistema collegato all'I/O disco mostrerà una percentuale di attesa I/O (wa) superiore al 10%. Ulteriori dettagli su vmstat sono disponibili in Comandi di debug diAIX.