GNU/Linux >> Linux Esercitazione >  >> Linux

Come sapere se l'IO del disco di Linux sta causando stalli dell'applicazione eccessivi (> 1 secondo).

Beh, un semplice test sarebbe montare quel fs ext3 come ext2 e quindi profilare le prestazioni dell'applicazione.


La risposta è "Sì" (inserimento nel diario SEMPRE aggiunge latenza :-)

Alla domanda su quanto sia significativo si può davvero rispondere solo con un test diretto, ma in genere si presume che per ogni operazione (registrata su journal) ci voglia circa il doppio del tempo che sarebbe necessario senza il journaling abilitato.

Dato che hai menzionato nei tuoi commenti su un'altra risposta che non puoi eseguire il test diretto nel tuo ambiente di produzione (e presumibilmente non hai un ambiente di sviluppo/test che puoi usare) hai un'altra opzione:guarda le statistiche del tuo disco e guarda quanto tempo passi a scrivere sul dispositivo diario.
Sfortunatamente questo aiuta davvero solo se il tuo dispositivo journal è discreto e può essere strumentato separatamente dal disco "principale".

La seconda volta che collego un video di McKusick oggi, ma se guardi questo video c'è un'ottima discussione su parte del lavoro che un filesystem di journaling deve fare (e l'impatto sulle prestazioni che ne deriva).
Non direttamente utile/rilevante per te e per la tua particolare domanda, ma un ottimo background generale su filesystem e journaling.


Sì, l'inserimento nel journal causa latenza. Ma è un piccolo pezzo dell'equazione. Lo considererei il quinto o il sesto elemento da esaminare... Tuttavia, questo è un altro in una tendenza di domande sull'archiviazione dei sistemi che non includono abbastanza informazioni pertinenti.

  • Che tipo di hardware del server utilizzi? (marca e modello)
  • Descrivi la configurazione dell'archiviazione (controller RAID, configurazione della cache, numero e disposizione dei dischi)
  • Quale sistema operativo stai utilizzando? Le versioni della distribuzione e del kernel sarebbero utili.

Perché chiedo queste informazioni?

La configurazione dell'hardware e il livello RAID possono avere un impatto ENORME sulle prestazioni osservate. La memorizzazione nella cache di lettura e scrittura sui controller RAID hardware può e deve essere ottimizzata per adattarsi al carico di lavoro e ai modelli di I/O. Il sistema operativo è importante perché influisce sui consigli sugli strumenti e sulle tecniche di ottimizzazione che potrebbero esserti utili. Diverse distribuzioni e kernel hanno impostazioni predefinite diverse, quindi le caratteristiche delle prestazioni variano tra di loro.

Quindi, in questo caso, ci sono diverse possibilità:

  • Il tuo array RAID potrebbe non essere in grado di tenere il passo con il carico di lavoro (mandrini insufficienti).
  • Oppure potresti trarre vantaggio dal caching in scrittura.
  • Potresti avere problemi di frammentazione (quanto è pieno il filesystem?).
  • Potresti avere un livello RAID inadeguato che è in contrasto con le caratteristiche prestazionali richieste.
  • Potrebbe essere necessario regolare il tuo controller RAID.
  • Potrebbe essere necessario modificare lo scheduler I/O del sistema ed eseguire un po' di messa a punto del dispositivo a blocchi.
  • Potresti prendere in considerazione un filesystem più ottimizzato per le prestazioni come XFS.
  • Potresti abbandonare il journal e rimontare i tuoi filesystem come ext2. Questo può essere fatto al volo.
  • Potresti avere dischi SATA economici che potrebbero subire timeout del bus.

Ma così com'è, non abbiamo abbastanza informazioni per andare avanti.


Linux
  1. Come bilanciare funzionalità e prestazioni nel mio terminale Linux

  2. Come usare dd in Linux senza distruggere il tuo disco

  3. Come partizionare un disco in Linux

  4. Come installare l'applicazione Spotify su Linux

  5. Come trovare un disco è SSD o HDD in Linux?

Come montare il disco NTFS su Linux

RAID Linux

Come crittografare la partizione su Linux

Come formattare le partizioni del disco su Linux

Come creare partizioni del disco su Linux

Come posso sapere se il server supporta le unità hot-swap?