Sintomo: Indagine lenta sulle prestazioni dell'OI

Un modo per indagare le prestazioni del CQ è quello di controllare request.log. Se la maggior parte delle richieste impiega molto tempo, qual è la causa?

Una delle possibili cause potrebbe essere la prestazione del disco e l'applicazione generale.

Alcuni fattori bloccano le prestazioni del disco, tra cui "io-wait", che è la percentuale di tempo che la CPU o le CPU attendono per il sistema disco perché il sistema ha una richiesta di I/O del disco in sospeso. Le informazioni io-wait dal log sysstat tendono a portare a malintesi. Tuttavia, se si presta attenzione, non è difficile capire le prestazioni del server.

Possiamo ottenere io-wait da mpstat e iostat, su Linux. (Possiamo ottenere le informazioni anche su Windows, ma non è così facile da configurare per raccogliere le informazioni) L'io-wait è calcolato con il solo tempo di attesa per il dispositivo di archiviazione durante il periodo. Assicurati di non vedere il valore io-wait su "all" di mpstat. È un valore medio. Dovremmo sommare i valori totali di io-wait di tutte le CPU.

Ad esempio, durante il periodo di misura di 1.0 sec accedendo a un solo sistema a disco per CQ, se la CPU0 aspetta io-wait per 0.1 sec, la CPU1 per 0.2 sec, la CPU2 per 0.3 sec e la CPU3 per 0.4 sec, il sistema con tutte e 4 le CPU aspetta io-wait per 1.0 sec in totale al 100%. Ciò significa che il sistema è bloccato per eseguire qualsiasi processo che legge/scrive dati da/per l'archiviazione a causa di io-wait. Nel frattempo, il valore medio è indicato come 25%. Sembra che ci siano abbastanza risorse. Ma non usare il valore perché l'intero sistema non aspetta io-wait per 0.25 sec. Se il processo CQ/AEM è bloccato dalle basse prestazioni del disco, il valore medio massimo (indicato nella colonna '%iowait' a 'all' di mpstat della CPU) è di circa il 100% su una CPU, 50% su due CPU, 25% su quattro CPU e 12,5% su otto CPU. Il valore sembra più piccolo se il sistema ha più CPU. Ma in realtà, l'io-wait totale è del 100%, indipendentemente dal numero di CPU che il sistema ha.

---------------
# mpstat -P ALL 5
...
08:50:50 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
08:50:55 all 3.26 0.00 4.86 24.04 0.98 3.05 0.00 63.81 2219.00
08:50:55 0 0.84 0.00 1.88 14.41 0.00 0.00 0.00 82.88 1011.27
08:50:55 1 0.21 0.00 1.45 17.63 3.53 0.00 0.00 77.18 759.08
08:50:55 2 9.55 0.00 14.84 56.91 0.41 11.99 0.00 6.30 445.93
08:50:55 3 2.08 0.00 1.04 6.25 0.00 0.00 0.00 90.62 2.71

...
Non fidarsi di '24.04' sulla colonna '%iowait' sulla riga 'all' della CPU! Riassumi tutti i valori %iowait di ogni CPU, 14.41 + 17.63 + 56.91 + 6.25.
(If you use '24.04', multiply 24.04 by 4.)
---------------

Se il sistema utilizza più dispositivi di archiviazione per altre applicazioni, il valore totale di io-wait supera il 100%. A quell'ora, controlla iostat per verificare come consuma il carico di ogni porzione/archiviazioni.

Considerazioni

In generale, se superato di oltre il 10%, si considera che la mancanza di processo I/O causerebbe una risposta tardiva. Minore è io-wait, migliore è la prestazione. Per ridurre l'io-wait, a meno che alcuni processi specifici non lo causino in abbondanza, controlla la configurazione di archiviazione su disco esistente e considera la possibilità di modificarla, come ad esempio per i dischi ad alte prestazioni, configurazione RAID o SSD.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online