Esplorare le Prestazioni di DataSunrise in Condizioni di Alto Traffico
DataSunrise riceve frequentemente domande sulle sue prestazioni nel gestire volumi di traffico che superano i limiti tipici. I clienti sono particolarmente preoccupati se DataSunrise possa perdere traffico, subire ritardi o gestire la situazione in modo diverso. Questo post approfondisce come DataSunrise affronta tali scenari.
Capacità Operativa e Metriche di Prestazione
Per comprendere come DataSunrise si comporta sotto pressione, è cruciale conoscere le sue soglie operative su diverse configurazioni di server. Ecco le operazioni massime al secondo per diverse istanze Amazon EC2, che portano l’uso della CPU al 100% per attività di proxying e auditing:
- m5.8xlarge: 24.500 operazioni/sec
- m5.4xlarge: 18.700 operazioni/sec
- m5.2xlarge: 15.350 operazioni/sec
- m5.xlarge: 7.800 operazioni/sec
- m5.large: 3.900 operazioni/sec
Questi risultati si basano sui nostri test utilizzando RDS Postgres su un’istanza m5.2xlarge dotata di storage con 12.000 IOPS.
Identificare e Gestire i Colli di Bottiglia
Colli di Bottiglia del Sistema di Audit
Se lo Storage di Audit non riesce a tenere il passo con un picco di traffico, DataSunrise utilizza una coda interna all’interno del suo sistema di Audit Journal, capace di gestire diverse migliaia di eventi a seconda delle impostazioni di sistema (consultare il parametro AuditHighWaterMark). Se i picchi di traffico superano la capacità della coda, gli eventi possono essere rifiutati. Tuttavia, questo comportamento predefinito può essere modificato in modo che DataSunrise si fermi e attenda fino a che non c’è spazio nella coda per registrare nuovi eventi (vedere il parametro AuditPutThreadQueueWait). Durante questa attesa, il traffico dell’applicazione può essere temporaneamente fermato, di solito per pochi millisecondi a secondi, a seconda delle prestazioni del sistema di auditing.
Per ottimizzare il suo sistema di audit, consideri i seguenti aspetti:
- Migliorare le prestazioni del database scegliendo server con più CPU e memoria.
- Verificare la configurazione della rete poiché la latenza influisce significativamente sulle prestazioni; idealmente, l’host di DataSunrise e lo Storage di Audit dovrebbero essere sulla stessa subnet.
- Rivedere e personalizzare le sue regole e gli eventi di audit per concentrarsi solo su quelli critici per le sue politiche di conformità.
Colli di Bottiglia del Sistema di Parsing di DataSunrise
Se il suo sistema di auditing funziona correttamente, l’uso della CPU diventa il prossimo potenziale collo di bottiglia. La modalità di gestione – passiva o attiva – influenza notevolmente l’impatto sull’applicazione:
- Modalità Passiva. Qui, il traffico viene gestito in modo asincrono in un pool separato di thread prima di essere rimandato al server. Il traffico viene temporaneamente memorizzato in una coda interna, che può tamponare i picchi e potenzialmente migliorare le prestazioni dell’applicazione (consultare i parametri MessageHandlersGlobalQueueHighWaterMark e MessageHandlersLocalQueueHighWaterMark). Se questo buffer si riempie, DataSunrise smetterà di analizzare il nuovo traffico su quella connessione e riceverà un avviso nel Monitor Eventi. Questa situazione non degraderà le prestazioni dell’applicazione, ma alcuni eventi potrebbero essere persi nell’audit.
- Modalità Attiva. In questa modalità, il traffico non può essere gestito in modo asincrono poiché DataSunrise deve prendere decisioni in tempo reale sulle operazioni. Non vengono utilizzate code e le prestazioni sono direttamente correlate alla capacità della CPU. Durante i picchi di traffico, DataSunrise processa il più possibile, il che può aumentare la latenza nelle sue query di applicazione.
Comprendere questi meccanismi e impostazioni può aiutarla a ottimizzare la configurazione di DataSunrise per una migliore gestione dei volumi di traffico elevati e prevenire potenziali colli di bottiglia delle prestazioni.
Per ulteriori letture su come scegliere il database giusto per lo storage di audit e migliorare le sue prestazioni, consideri la nostra guida dettagliata Come Scegliere il Database per lo Storage di Audit: Un’Analisi delle Prestazioni.