June 15, 2015 at 12:05 am
Comments posted to this topic are about the item Cellular Automation – SQL Server CPU, IO and Hekaton Stress Testing
June 17, 2015 at 9:00 am
Thanks for taking the time to write and post this, Paul. This was a very, very deep dive!
June 17, 2015 at 9:19 am
Thank you for the positive feedback John, very much appreciated.
June 25, 2015 at 8:11 am
Whoa. This is going to require a re-read when I have time to concentrate. Thanks.
June 25, 2015 at 11:44 am
Hi,
If you are interested in how quick Hekaton is, run the SQLServer2014 setup script attached to the article then the script below in 1 or more Query Analyser sessions. It will stress the instance it's running on for up to 20 minutes so needs to be an isolated server. Notice the duration_seconds differences in the timing results between SQL & Hekaton, Hekaton is really quick for the OLTP bias workload types. Thanks for looking at it.
Paul
USE CellularAutomation
GO
------------------------------------------------------------------------------------------------
-- Set these 2 variables per test
DECLARE @StressLevel int = 3; -- Workload type biase - 1 for OLTP or 3 for OLAP
DECLARE @ConcurrentRequests VARCHAR(3) = '1'; -- How many concurrent requests are running?
------------------------------------------------------------------------------------------------
DECLARE @rc int;
DECLARE @TestCase varchar(50);
DECLARE @OLTP_Weighting INT = 512; -- Divided by 2 for each iteration of x
DECLARE @OLAP_Weighting INT = 1; -- Multiplied by 2 for each iteration of x
DECLARE @x INT = 1;
WHILE @x < 11
BEGIN
IF @x = 1 SET @TestCase = 'OLTP5 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));
IF @x = 2 SET @TestCase = 'OLTP4 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 3 SET @TestCase = 'OLTP3 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 4 SET @TestCase = 'OLTP2 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 5 SET @TestCase = 'OLTP1 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 6 SET @TestCase = 'OLAP1 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 7 SET @TestCase = 'OLAP2 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 8 SET @TestCase = 'OLAP3 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 9 SET @TestCase = 'OLAP4 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
IF @x = 10 SET @TestCase = 'OLAP5 - StressLevel' + CAST(@StressLevel AS CHAR(1)) + ' - CR' + CAST(@ConcurrentRequests AS VARCHAR(3));;
EXECUTE @rc = [dbo].[CA_LoadTestExecute]
@OLTP_Weighting -- IO_Batches (OLTP Weighting Factor - Generator Procedure Calls)
,0 -- CPU Batches (OLTP Weighting Factor - Generator Procedure Calls)
,@OLTP_Weighting -- Hekaton Batches (OLTP Weighting Factor - Generator Procedure Calls)
,@OLAP_Weighting -- New Patterns Requested per call - OLAP Weighting Factor 1
,@TestCase
,@StressLevel; -- Initial Patterns - OLAP Weighting Factor 2
SET @OLTP_Weighting = @OLTP_Weighting / 2;
SET @OLAP_Weighting = @OLAP_Weighting * 2;
SET @x = @x + 1;
END;
EXECUTE dbo.CA_LoadTestResults;
Viewing 5 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy