Friday, March 26, 2010

Raid setup comparison - Part 1/2

(RAID 5 vs RAID 1E vs RAID 10 )

Every-time, as a consultant DBA, a customer ask me the question which RAID and why will fit best their needs. I tend to provide my experiences, my ideas and share but rarely it's enough.

In this blog entry I will try show exactly for one specific machine what will be the efficiency for each and individual RAID setup in terms of rough IO/S and MB/s.

Note that the tool that I have used is SQLIO, in a near future I plan to also re-do the tests with the tool Iometer. What is important to know is that the situation when I did the tests was ideal. The Raid Setup had been done then re-done according to the needs and there were no application and no user connected to the server during the tests.

The server used is a IBM x336 series with 16GB of RAM, windows 2003 x64 installed. The setup raid was local to the machine, the cache controller was integrated to the machine and its size was 256MB.

Following is the legend table to help you to interpret the different test cases scenario therefore will you find all the detail of each scenario that has been tested :

Test Casethreads#Block Size (KB)Out. RequestDuration
T12641120 seconds
T22642120 seconds
T32644120 seconds
T42648120 seconds
T526416120 seconds
T626432120 seconds
T726464120 seconds
T8264128120 seconds


A. Result extracted for write performance :


  • Table Presentation





T1T2T3T4T5T6T7T8
1RAID5 - 4HD;145G;15k -MB/S19.0621.8125.2039.9246.0846.0446.6446.82

RAID5 - 4HD;145G;15k -IO/S305.02349.08408.14638.73737.38736.64746.35749.15
2RAID1E - 4HD;300G;10k -MB/S13.6515.0115.2915.5415.4815.4915.2715.55

RAID1E - 4HD;300G;10k -IO/S218.40240.30244.76248.76247.72247.91244.35248.95
3RAID10 - 4HD;300G;10k -MB/S22.0527.0833.9157.4273.1274.5774.4473.93

RAID10 - 4HD;300G;10k -IO/S352.91433.41542.56918.761169.921193.241191.071182.93


  • Graph Presentation






B. Result extracted for write performance :

  • Table Presentation





T1T2T3T4T5T6T7T8
1RAID5 - 4HD;145G;15k MB/S12.3512.1712.3912.3712.3812.4612.5412.61

RAID5 - 4HD;145G;15k IO/S197.69194.78198.24198.07198.09199.46200.67201.8
2RAID1E - 4HD;300G;10k MB/S8.428.288.258.418.498.348.398.3

RAID1E - 4HD;300G;10k IO/S134.80132.59132.03134.63135.84133.56134.27132.85
3RAID10 - 4HD;300G;10k MB/S16.6416.5816.7016.4916.5516.5616.7216.76

RAID10 - 4HD;300G;10k IO/S266.36265.36267.35263.97264.81265.09267.56268.18


  • Graph Presentation


Result : As for the interpretation of the output we can clearly see that setup in RAID 10 is far the most efficient in regards our tests scenarios. For read and write instructions it has demonstraste to be faster quite significantly and that even though in the RAID5 setup we had 15k drive rather than the 10k when setup in RAID10.

Monday, August 24, 2009

System Performance - CPU Counters

  • % Processor Time.The Processor\% Processor Time counter determines the percentage of time the processor is busy by measuring the percentage of time the thread of the Idle process is running and then subtracting that from 100 percent. This measurement is the amount of processor utilization. Although you might sometimes see high values for the Processor\% Processor Time counter (70 percent or greater depending on your workload and environment), it might not indicate a problem; you need more data to understand this activity. For example, high processor-time values typically occur when you are starting a new process and should not cause concern.
  • System : Processor Queue Length. Oddly enough, this processor counter shows up under the System object, but not without good reason. There is only 1 queue for tasks that need to go to the processor, even if there is more than one CPU. Thus, counter provides a measure of the instantaneous size of the queue for all processors at the moment that the measurement was taken. The resulting value is a measure of how many threads are in the Ready state waiting to be processed. When dealing with queues, if the value exceeds 2 for a sustained period, you are definitely having a problem with the resource in question.
  • Processor : % User Time. The value of this counter helps to determine the kind of processing that is affecting the system. Of course the resulting value is the total amount of non-idle time that was spent on User mode operations. This generally means application code.

  • Processor : %Privilege Time. This is the amount of time the processor was busy with Kernel mode operations. If the processor is very busy and this mode is high, it is usually an indication of some type of NT service having difficulty, although user mode programs can make calls to the Kernel mode NT components to occasionally cause this type of performance issue.

Friday, November 7, 2008

Date Format Pattern

How often we use to format date and times ? I never had a chance put aside this informationthe right way. Maybe for lack of time or lazyness ... but this time I'll do it right once and for all !

So here is the tables with the parameters and description.

The table below displays a list of the standard format characters . The format characters are case-sensitive; for example, 'f' and 'F' represent different patterns.

Format Character

Associated Property/ Description
d ShortDatePattern
D LongDatePattern
f Full Date and time (long Date and short time)
F FullDateTimePattern (long Date and long time)
g General (short Date and short time)
G General (short Date and long time)
m, M MonthDayPattern
r, R RFC1123Pattern
s SortableDateTimePattern (based on ISO 8601) using local time
t ShortTimePattern
T LongTimePattern
u UniversalSortableDateTimePattern using the format for universal time display
U Full date and time (long date and long time) using universal time

The table below shows a list of patterns that can be combined to create custom patterns. The patterns are case-sensitive; for example, "MM" is recognized, but "mm" is not. If the custom pattern contains white-space characters or characters enclosed in single quotation marks, the output string will also contain those characters. Characters not defined as part of a format pattern or as format characters are reproduced literally.


Format Pattern

Description

dd The day of the month. Single-digit days will have a leading zero.
ddd The abbreviated name of the day of the week, as defined in AbbreviatedDayNames.
M The full name of the day of the week, as defined in DayNames.
MM The numeric month. Single-digit months will have a leading zero.
MMM The abbreviated name of the month, as defined in AbbreviatedMonthNames.
MMMM The full name of the month, as defined in MonthNames.
y The year without the century. If the year without the century is less than 10, the year is displayed with no leading zero.
yy The year without the century. If the year without the century is less than 10, the year is displayed with a leading zero.
yyyy The year in four digits, including the century.
gg The period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string.
h The hour in a 12-hour clock. Single-digit hours will not have a leading zero.
hh The hour in a 12-hour clock. Single-digit hours will have a leading zero.
H The hour in a 24-hour clock. Single-digit hours will not have a leading zero.
HH The hour in a 24-hour clock. Single-digit hours will have a leading zero.
m The minute. Single-digit minutes will not have a leading zero.
mm The minute. Single-digit minutes will have a leading zero.
s The second. Single-digit seconds will not have a leading zero.
ss The second. Single-digit seconds will have a leading zero.
t The first character in the AM/PM designator defined in AMDesignator or PMDesignator, if any.
tt The AM/PM designator defined in AMDesignator or PMDesignator, if any.