Checkpointing, escrevendo páginas de banco de dados alteradas. Isso não acontece o tempo todo em muitas circunstâncias.
Antesdefazerminhapergunta,permita-medescreverasituação.Eutenhoumservidordebancodedados,comumnúmerodetabelas.Duasdasmaiorestabelascontêmmaisde800millinhascada.Amaioriadaslinhastemmenosde10k,emboracercade1em100linhasseja>1MBmas<4MB.Assim,das1,6milhõesdelinhas,cercade16.000delasserãoessaslinhasgrandes.Arazãopelaqualelessãotãograndeséporqueestamosarmazenandoarquivoszipbináriosnobancodedados,masestoudivagando.
Temosumserviçoquefuncionaconstantementeemsegundoplano,cortando10linhasdecadaumadessasduastabelas.Nográficodomonitordedesempenhoacima,estassãoaspequenassaliências(vermelhoparaCPU,verdeparafiladedisco).Umavezacadaminuto,temosumgrandepicodeatividadedaCPU,juntamentecomumsaltonaatividadedodisco,indicadopelasetavermelhanacapturadetela.
EuexecuteioSQLServerProfilerenãohánadaquesaltecomoumcandidatoqueexpliqueessepico.Minhasuspeitaéqueessepicoocorrequandoumadaslinhasgrandeséexcluída.Alimenteiosresultadosdoprofilernoassistentedeajusteenãoreceborecomendaçõesdeotimização(porexemplo,suponhoqueissosignificaquemeubancodedadosestáindexadocorretamenteparaminhacargadetrabalhoatual).
Eunãoestoumuitopreocupadoporqueoservidorestálidandobememtodasascircunstâncias,mesmosobcargadepico.Noentanto,gostariadesabersehámaisalgumacoisaqueeupossafazerparadescobriroqueestácausandoessepico?
Atualização:
Depoisdeinvestigarissoumpoucomais,opicodeusodeCPUediscofoireduzidoparaopontodeverificaçãoautomáticodoservidorSQL.Obancodedadosusao
Isso foi esclarecedor e eu definitivamente aprendi alguma coisa!
Checkpointing, escrevendo páginas de banco de dados alteradas. Isso não acontece o tempo todo em muitas circunstâncias.
Tags database sql sql-server