Immagina di avere un'attività di e-commerce che utilizza una cache distribuita come NCache per tempi di risposta più rapidi. Durante le festività natalizie, il tuo cluster di cache prevede di servire migliaia di client connessi. Tuttavia, invece, il tuo team di assistenza clienti è bombardato da lamentele sui tempi di inattività del sito Web e sull'esperienza utente lenta. Che cosa è andato storto? Bene, è semplice. Non è stato possibile monitorare la cache con carichi di picco.
Potresti chiedere, perché importa? Il monitoraggio della cache durante la produzione ti aiuta a identificare i segnali di avviso prima che diventino problematici. Dedicare del tempo a questa operazione impedisce alla tua azienda di subire potenziali interruzioni della rete, sovraccarico di memoria e altro ancora.
NCache Dettagli Scaricare NCache Confronto edizione
Ricco set di strumenti di monitoraggio in NCache
Fortunatamente per te NCache viene fornito con numerosi strumenti per aiutarti a monitorare le tue cache. Questi includono tutto quanto segue.
NCache Web Manager
I Web Manager è uno strumento di gestione basato sul Web per configurare le cache e visualizzarne le statistiche. Questo strumento viene spedito con il tuo NCache installazione e ti consente di gestire le tue cache aggiungendo o rimuovendo nodi, configurando la sicurezza e altro ancora.
NCache Monitoraggio Web
I Monitoraggio Web è uno strumento di monitoraggio basato sul Web che ti offre una valutazione in tempo reale di come le tue cache distribuite e remote clients eseguire. Contiene un dashboard esistente che fornisce semplici contatori drag-and-drop da monitorare per nodo. Puoi anche progettare dashboard personalizzati in base alle tue metriche di interesse.
NCache Windows PowerShell
La sezione PowerShell è uno strumento dell'interfaccia della riga di comando che consente di monitorare le statistiche di server e client utilizzando Windows PowerShell. Fornisce un elenco di contatori in formato .CSV.
NCache Registri
Strumenti Bowman per analizzare le seguenti finiture: i registri registrano tutte le attività della cache e sono essenziali per rilevare i problemi prima che diventino seri o anche per osservare il comportamento della cache in ambienti specifici. Per impostazione predefinita, tutta la tua attività cache/bridge viene registrata nei file su ciascun nodo del server. NCache fornisce anche un sofisticato visualizzatore di registri per organizzare i registri per una migliore leggibilità.
Strumenti PerfMon di Windows
Questi strumenti sono una risorsa altrettanto preziosa. Il Monitoraggio delle prestazioni di Windows può accedere a vari NCache Contatori Perfmon. Quindi, puoi monitorare le prestazioni della cache anche utilizzando strumenti compatibili con PerfMon. Queste informazioni sul contatore possono aiutarti a determinare le limitazioni del processo e a ottimizzare l'ambiente e le applicazioni, se necessario.
NCache Registri eventi NCache
Questi registri registrano gli eventi in base alla loro gravità nel file Registri eventi di Windows (che fornisce un registro dettagliato di tutte le applicazioni di sicurezza, applicazione e sistema). Questi registri consentono di eseguire rapidamente la diagnosi di eventuali errori nel cluster di cache.
Strumenti di terze parti
graminacee & Prometeo sono un altro ottimo modo per monitorare i cluster di cache. Poiché Prometheus raccoglie i dati del cluster attraverso il raccolto NCache Metrics e Grafana lo usa come fonte di dati per visualizzare i dati come grafici leggibili dall'uomo.
NCache Dettagli Troubleshooting NCache Controllo Monitora le cache
Test delle prestazioni di base prima della produzione
Prima di iniziare a monitorare le cache in produzione, è consigliabile eseguire un test di base di pre-produzione, in particolare con la configurazione dell'ambiente live. L'obiettivo centrale di tale test è la soglia di prestazioni accettabile per la tua cache. Questo test può aver luogo anche durante la messa in scena se hai terminato la produzione.
Questo test delle prestazioni di base consente di monitorare le prestazioni della cache rispetto a questa soglia e aiuta a diagnosticare un problema particolare se si conoscono le prestazioni ottimali. Ad esempio, puoi scegliere di aggiungere più server se l'utilizzo della memoria è costantemente superiore al valore di base.
1. Baseline delle prestazioni dell'applicazione
Devi solo testare il tuo ambiente considerando quanto segue:
Test a livello di applicazione: indipendente da NCache ed è esclusivamente la prestazione della tua applicazione. Ad esempio, per un'app Web, è necessario testare il tempo di risposta delle richieste di pagina.
Test a livello di database (anche NCache indipendente) implica il controllo dei tempi di risposta del database per le query, il sovraccarico della rete e le prestazioni per set di database di grandi dimensioni.
2. NCache Linea di base delle prestazioni
Quindi, da dove viene? NCache adattarsi a questo? Per NCache, dovresti considerare le richieste/sec, il tempo medio/operazione, la dimensione dell'oggetto e la memoria/CPU. Inoltre, puoi monitorare i registri eventi per comprendere gli eventi in un cluster di stato di lavoro integro da conservare come riferimento per il confronto quando entrano in produzione. Puoi anche condividere questi dettagli di base con i team di monitoraggio come confronto.
Tienilo a mente NCache le prestazioni possono influire sulle prestazioni dell'applicazione ed è inevitabile che si verifichino anomalie. Ad esempio, quando il carico aumenta, aumenta il consumo di CPU su tutti i nodi del server nel cluster. Questo è perfettamente normale, poiché a questo punto non manca nulla. Devi solo aggiungere un altro server al cluster per condividere il carico tra tutti loro.
NCache Dettagli Benchmark delle prestazioni Simulare NCache Impiego
Monitorare NCache Prestazioni in produzione
Controllo NCache Salute del cluster in produzione
Quando si ha a che fare con un gran numero di client in un cluster di cache distribuita, è ovvio che è necessario assicurarsi che sia integro e ottimizzato nei picchi di carico. Il NCache è possibile monitorare l'integrità dell'applicazione client e del server NCache strumenti che ti mostrano l'attività sana attraverso i contatori della cache.
Solitamente i data center dispongono di ottime reti, ma negli ambienti dei nostri clienti abbiamo notato che le prese si rompono o la rete potrebbe essere interrotta. Questo tipo di scenario provoca ritardi poiché la comunicazione viene interrotta anche se l'intera connessione non si interrompe. Pertanto, è necessario monitorare che la rete non diventi parzialmente connessa con conseguente split-brain e connessioni client interrotte.
NCache avvia un meccanismo di ripristino automatico per risolvere questo problema, che è un'attività costosa. Pertanto, è necessario monitorare l'integrità del cluster.
utilizzando NCache Web Monitor, puoi monitorare varie metriche per lo stato della cache:
1- Salute del cluster
Potete vedere il stato di ogni nodo del server in un cluster, la sua connessione con gli altri nodi e il numero di client connessi in un colpo d'occhio.
2- Registri eventi di Windows
Puoi facilmente verificare eventuali errori nel registro eventi, che visualizza anche un messaggio dettagliato per ogni evento. Quindi, nel caso di un cluster parzialmente connesso, puoi facilmente diagnosticare se è a causa di cervello diviso o per qualche altro motivo, come registrato nella finestra Registri eventi.
3- Registri API
Puoi anche scegliere di registra le chiamate API dal nodo server al client, tuttavia, questo è un contatore di memoria.
4. Risorse di sistema
Per verificare se il tuo cluster è integro, devi anche monitorare l'utilizzo della CPU, i picchi di memoria e l'utilizzo della rete: questa vigilanza garantisce che le tue applicazioni non si trovino di fronte a una carenza. Ad esempio, se vedi un aumento costante dell'utilizzo della CPU, puoi scegliere di aumentare le risorse della CPU.
5. NCache Avvisi
NCache fornisce anche un meccanismo per inviare avvisi su eventi specifici come l'avvio/arresto del nodo o il trasferimento dello stato avviato. Tali notifiche vengono inviate a un'e-mail fornita, quindi ricevi notifiche di qualsiasi attività imprevista ovunque. Puoi leggere di più su questo nel NCache documenti. Oltre a questi, gli avvisi di integrità della cache per l'utilizzo della CPU, la dimensione della coda, la memoria, la larghezza di banda della rete e le richieste/sec vengono registrati anche in alerts.xml se i valori superano il valore di soglia preconfigurato.
NCache Dettagli Monitoraggio remoto Registrazione errori
Controllo NCache Carico/capacità di produzione
Per tale monitoraggio, è necessario determinare il carico di picco generale per il cluster di cache e le transazioni eseguite su ciascun server. Se l'afflusso aumenta, diciamo durante una vendita annuale, c'è la possibilità di instabilità ambientale o comportamento incerto. Per questo, è necessario monitorare il numero di recuperi o richieste al secondo che vengono effettuati su ciascun server per eseguire rapidamente l'analisi della causa principale di qualsiasi problema relativo alle prestazioni che potresti riscontrare.
Il throughput rispetto al carico determinerà se è necessario aumentare la capacità. Se hai già eseguito un test di base per il monitoraggio del carico e le statistiche mostrano un picco costante nel numero di transazioni, puoi scegliere di aumentare la scalabilità. Puoi farlo aumentando le risorse della CPU o aumentando la scalabilità orizzontale aggiungendo più server cache. Abbiamo già coperto i contatori che puoi impiegare.
NCache Dettagli Bilanciamento del carico dei dati Gestisci il bilanciamento del carico dei dati
Conclusione
NCache è un datastore distribuito ricco di funzionalità con supporto .NET e Java nativo al 100%. Pertanto, quando i cluster di cache vengono eseguiti in un ambiente di produzione di transazioni elevate, è necessario monitorare le connessioni di nodi, cluster e client. Insieme a questo, devi tenere d'occhio le risorse della cache come la memoria e la larghezza di banda della rete. NCache viene fornito con più strumenti e avvisi per rendere il monitoraggio dell'ambiente del cluster il più conveniente possibile.
Ciò non solo ti consente di tenere conto di eventuali picchi imprevisti nelle metriche, ma ti aiuta anche a diagnosticare facilmente le origini del degrado delle prestazioni.