BACKGROUND Di recente ho esaminato alcuni tempi di attesa CXPacket piuttosto elevati di recente che mi hanno fatto usare SQL Sentry per monitorare l'attività del processore abbastanza da vicino.
Una cosa che ho notato di conseguenza è che abbiamo enormi picchi nel cambio di contesto. Di seguito è riportato un campione di 5 minuti, ma questo schema è molto comune durante il giorno.
Come puoi vedere, picchi abbastanza regolarmente. Ora la mia comprensione di questo mi porterebbe a credere che questo sarebbe il risultato della pressione della CPU. Tuttavia durante quel periodo a malapena supera il 60%.
Dopo alcune ricerche, questo mi ha portato a credere che ciò stesse accadendo a causa dell'hyper threading. So di aver letto prima alcuni dei pericoli dell'hyper threading. Comunque è stato scritto molto tempo fa.
Riassumere. L'hyper threading è probabilmente il colpevole di questi picchi nel cambio di contesto? È possibile che il cambio di contesto abbia un impatto negativo sulle mie query parallele? Devo disabilitare l'hyper threading nel mio ambiente?
AGGIORNAMENTO sebbene questa cosa specifica stia accadendo nel mio ambiente, la domanda alla base è più universale. Che impatto possono avere alti livelli di cambio di contesto su query parallele? L'hyper threading può causare questo tipo di problema?
Alla fine la maggior parte di ciò che trovo su Internet suggerisce che l'hyper threading e SQL Server non sono buoni amici, tuttavia la maggior parte delle informazioni sono estremamente datate.
Il mio sistema Ci sono state molte domande sulla configurazione, quindi le affronterò qui in modo che possano essere escluse. Abbiamo le impostazioni di potenza sulle prestazioni sia a livello di sistema operativo che a livello bio. Il nostro Maxdop è impostato su 8 e la soglia di costo per il parallelismo è 25. Abbiamo 32 core logici e 16 fisici. Anche questo è per lo più uno scenario di caricamento del data warehouse.