Carico medio accettabile


9

Venerdì abbiamo distribuito il nostro nuovo server di posta Linux / Exim / Spamassassin (è sempre una buona idea implementare il giorno prima di un lungo weekend in cui non ci sono amministratori). Il carico si è aggirato intorno all'1,3 sulla media di 15 minuti.

La macchina è reattiva e la posta viene consegnata in tempi ragionevoli. Possiamo presumere che questo sia accettabile?

Come viene ritenuto accettabile o non accettabile un determinato carico? Quali metriche vengono utilizzate?


3
Quante CPU, quanta RAM? è in esecuzione x / GDM?
Tim Howland,

Quanta posta gestisci su base giornaliera?
baumgart,

Risposte:


11

Regola empirica di base: se il sistema è reattivo, se funziona in modo tempestivo, allora stai bene.

Carichi al di sotto dei due non sono molto preoccupanti. Ho riscontrato che il sistema ha colpito quattro o cinque e funziona ancora bene, anche se questo sarebbe un indicatore del fatto che ci sono molti problemi di accodamento con la rete o le unità (i problemi di I / O possono causare carichi elevati anche se il sistema è molto reattivo).

Controlla periodicamente la lunghezza della tua coda di posta e i registri per problemi non consegnabili e problemi di quel tipo. Se la coda di consegna rimane relativamente bassa, va bene.

Puoi ottenere molto con le medie dei dischi e le informazioni di I / O di rete, ma se non visualizzi problemi di consegna (ho inviato il messaggio quindici minuti fa e non è ancora arrivato!) E puoi lavorare sul sistema tramite console ( o ssh) senza molta latenza, dovresti stare bene.


18

La media del carico è un valore che dà un'idea del numero di processori necessari al kernel per essere in grado di eseguire tutte le attività quando necessario senza aspettare.
Nel tuo caso, se hai 2 o più CPU / Core. Non c'è problema. Se hai solo 1 CPU con 1 core significa che c'è un tempo "troppo" tra il momento in cui la tua app vuole funzionare e il tempo in cui il kernel la esegue. Un caricamento> "numero di CPU / core" non sarà un problema per un sistema di posta fino a quando non raggiungerà un valore troppo alto per un tempo troppo lungo.
Ovviamente non sono una regola e un valore da dare e mentre ricevi la tua posta in breve tempo va bene. Ma probabilmente dovrai iniziare a guardare da vicino il tuo server quando il carico è troppo alto di 2 * numero di CPU / core troppo spesso per un periodo "lungo" (~ 1 ora).
Ancora una volta per un server di posta questo non sarà un grosso problema ma inizierà a significare che il tuo server è un po 'sovraccarico.


+1 cose fantastiche e interessanti!
Marco Demaio,

3
Aggiungo un link a una pagina web abbastanza buona blog.scoutapp.com/articles/2009/07/31/…
raggio

3

Come sempre con le domande relative all'ottimizzazione, non ci sono risposte sì / no, tutto dipende :-)

Detto questo, un carico di 1.3 non sembra elevato, specialmente se si dispone di una configurazione CPU multi-core. Se il numero di carico è uguale al numero di core, tutti i core hanno sempre un processo pronto per l'esecuzione.

Alla fine, se, come dici tu, i messaggi vengono consegnati in modo tempestivo, allora la performance va bene :-)

top

ti fornirà metriche di base in tempo quasi abbastanza vicino.


3
htop è ancora meglio e più facile da leggere
Antoine Benkemoun,

3

Una media del carico inferiore al numero di CPU che hai significa che ci sono CPU in giro senza nulla da fare. Uguale significa che stanno lavorando tutti al momento. Maggiore significa che ci sono processi che potrebbero essere in esecuzione, ma sono bloccati in attesa di linea.

Per cose super sensibili al tempo come un server voip o memcache vuoi che il tuo avg di caricamento sia ben al di sotto del numero di core. Per elementi asincroni che possono convivere con il backup occasionale (come la posta elettronica) è possibile eseguire facilmente il doppio del numero di core.

Il più grande avvertimento da ricordare è che i processi che sono in attesa di I / O su disco o di rete ma che sono comunque eseguibili vengono comunque visualizzati nella media del carico. Quindi, se hai un server Apache che distribuisce jpg a 56k utenti, puoi eseguire una media di carico molto più elevata rispetto a se hai in grado di restituire le risposte php / qualunque script a un proxy / loadbalancer su una LAN gigabit. Nel tuo caso, una connessione smtp a un server di posta lento che impiega un'eternità a trasferire un allegato mostrerà un processo 1 nella coda di esecuzione, ma potrebbe essere interrotto una ventina di volte per inviare un'e-mail veloce a una riga a Gmail senza problemi.

La spinta arriva a spingere, il carico medio è come il DOW. In realtà non misura in alcun modo l '"economia", la gente la usa semplicemente come una metrica molto vagamente correlata perché è facile parlarne. Concentrati sul monitoraggio delle metriche a cui tieni davvero, come la profondità della coda di consegna e i messaggi al secondo.


2

Quanti core hai? cat / proc / cpuinfo | processore grep | wc -l

(avvertenza: l'hyperthreading sembra più core, ma non lo è)

Se il tuo livello di carico è inferiore al conteggio del processore, allora sei generalmente OK.

Dai anche un'occhiata in alto e premi '1' e puoi vedere il carico individuale di ogni CPU.


1

Sì, è abbastanza accettabile e generalmente ci si aspetta da un filtro di posta.

La nostra configurazione è leggermente diversa. Abbiamo un server separato per SpamAssassin, mentre il nostro server POP esegue ClamAV per cercare virus. Il server POP è generalmente in esecuzione con un carico del server pari a 2, ma occasionalmente aumenta fino a 10 o più. D'altra parte, il nostro server SpamAssassin era in esecuzione circa 2 fino a quando non abbiamo installato anche i filtri Openprotect.com, quando ha raddoppiato l'utilizzo della CPU e ora è in esecuzione sotto circa 5 con picchi superiori a 15. Questo è ancora accettabile perché non lo facciamo avere ritardi nella posta che si traducono in una coda di posta in aumento (utilizziamo qmail per SMTP in entrata) e c'è ancora spazio per risparmiare l'utilizzo della CPU / la memoria.

Per coincidenza, consiglio vivamente Munin per il monitoraggio dei server. Fa un ottimo lavoro dimostrando visivamente i dati storici e mostrandoti quali risorse devi risparmiare. Il monitoraggio in tempo reale con Top (1) non ti aiuta molto. :)

Oh, a proposito, la distribuzione il venerdì prima del lungo weekend è un ottimo modo per lavorare per tutto il fine settimana. Soprattutto per i sistemi critici come un server di posta.


vedi anche collectd, come menzionato qui: serverfault.com/questions/67234/…
warren,

0

Come va la memoria? È stabile o in crescita?

Il carico non sembra fuori dalla norma. Se il server di posta è reattivo e la posta passa, direi che l'unica misura di errore oltre il consumo di memoria sarebbe se le e-mail sbagliate passano (spam).

Intendiamoci oggi sarebbe il tuo primo vero test. Probabilmente lo monitorerei leggermente oggi. Se qualcosa andrà storto, ora sarebbe il momento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.