CPU slodzes simulēšana
Izveidotais vaicājums, lai slogotu SQL Server CPU (neesmu testējis uz vairāk kā 2 kodolu procesora):
create table #MyTab (c1 int primary key clustered, c2 int, c3 char(2000))Mainot aizkomentēto "option (maxdop 1)", var mainīt vaicājuma izpildes laikā izmantoto kodolu skaitu (plašāk par šo tēmu rakstā SQL Server parametrs: "max degree of parallelism"). Piemēram, ja ir mainīts servera parametrs ierobežojot maksimāli izmantojamo kodolu skaitu uz vaicājumu, tad servera ierobežojumu var apiet mainot šo parametru.
--testa datu kopa
set nocount on
declare @i int
set @i = 1
while @i <= 5000
begin
insert into #MyTab values (@i, @i, 'a')
set @i = @i + 1
end
While 1=1
Begin
declare @StartTime datetime = getdate();
declare @result int;
declare @msg varchar(200);
-- pats vaicājums
select @result = max(t1.c2 + t2.c2)
from #MyTab t1 cross join #MyTab t2
--option (maxdop 1)
Set @msg = ' Duration = ' + CONVERT(VARCHAR(30),getDate() - @StartTime,114) + '(hh:mi:ss:mmm)'
RAISERROR (@msg, 0, 1) WITH NOWAIT
End
drop table #MyTab
CPULoad.bat
Savām vajadzībām gan es izveidoju nelielu CPULoad.bat failu (Utilītprogramma: sqlcmd). Tajā jānorāda SQL Server instance pie kā slēgties izmantojot Windows autentifikāciju.
Jau gatavu CPULoad.bat failu varat lejupielādēt šeit.
Izpilde izskatās apmēram tā:
Nav komentāru:
Ierakstīt komentāru