After working for a Year and studying the various method used by SI to Size a NAS and also noticing the problems they face. I have documented the following
The parameters that are essential for Selecting the NAS or Storage server
The normal process is to use the storage calc and find the total TB for total Nos of Camera and then study the spec of the NAS for the TB of storage.. The difficulty with this approach is that some NAS perform as required and most do not.. We end up blaming the NAS for non Performance but fail to understand that we have sized the NAS incorrectly..
The important param which is very very clear from the various post on the Internet on storage calculations is IOPS.. Unfortunately there is no documentation on this for Video surveillance.
I shall attempt to do so.. pls kindly note I am not an expert in Storage and have no great experience with the various NAS available in the Market.
All expert on storage are welcome to point out any error or technical issues with my documentations
Each disk has different IOPS (Input Output Per Sec). This is calculated from the following parameters
For 4 Nos of HDD 7200 RPM
HDD Used
|
7200
|
RPM
|
From Datasheet of HDD Used
|
Full Rotation
|
8.33
|
mSec
|
=RMP/60000
|
Rotational Latency
|
4.17
|
mSec
|
=(RPM/60000)/2
|
Average Seek Time
|
4.45
|
mSec
|
From Datasheet of the HDD Used
|
IO Time
|
8.62
|
mSec
|
=IOTime+Avg Seek
|
IOPS
|
116
|
IO per Sec
|
=(1/IO Time)*1000
|
No of Disks Used
|
4
|
Nos
|
from NAS
|
Segment Size (Block Size)
|
4
|
KB
|
Configure in NAS or OS
|
MBPS
|
1.81
|
MBPS
|
=(IOPS*NoOfDisk*IO Size)/1024
|
For 8 Nos of HDD 7200 RPM
HDD Used
|
7200
|
RPM
|
From Datasheet of HDD Used
|
Full Rotation
|
8.33
|
mSec
|
=RMP/60000
|
Rotational Latency
|
4.17
|
mSec
|
=(RPM/60000)/2
|
Average Seek Time
|
4.45
|
mSec
|
From Datasheet of the HDD Used
|
IO Time
|
8.62
|
mSec
|
=IOTime+Avg Seek
|
IOPS
|
116
|
IO per Sec
|
=(1/IO Time)*1000
|
No of Disks Used
|
8
|
Nos
|
from NAS
|
Segment Size (Block Size)
|
4
|
KB
|
Configure in NAS or OS
|
MBPS
|
3.62
|
MBPS
|
=(IOPS*NoOfDisk*IO Size)/1024
|
Pls note the just by increasing the Nos of HDD the Throughput is 3.62MegaBytes Per Second. The throughput is for Read Only and is not calculated for the NAS which is Writing the data in RAID Configurations.
The Read throughput is very much depended on the spindle speed and block size, hence pls do calc the above for the HDD used in your NAS..
2. Some times its not easy to get these data from HDD OEM's you can use the following values
HARD Disk IOPS from Internet
RPM
|
SATA II
| |
5400
|
50
|
IOPS
|
7200
|
75
|
IOPS
|
10000
|
100
|
IOPS
|
15000
|
150
|
IOPS
|
btw Some Reading from the various post on the different head used in the data-sheets
1. Hardware block size= "sector size"
2. Filesystem block size= "block size"
3. Kernel buffer cache block size= "block size"
4. Partition table block size= "cylinder size"
- IPOS of the NAS
Calculate the IOPS for the NAS Used
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
100
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
4
|
NOS
| |
IOPS Calculated
|
60
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
0.94
|
MBPS
|
Calculate the IOPS for the NAS Used
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
100
|
%
| |
%w
|
100
|
%
| |
RAID
|
0
| ||
F
|
1
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
4
|
NOS
| |
IOPS Calculated
|
150
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
2.34
|
MBPS
|
We can now understand that RAID0 has higher IOPS than RAID5. Hence NAS performance in RAID0 is Better than RAID5.
Now let us compare the NAS with More No of Disk..
Calculate the IOPS for the NAS Used with 4 Disk
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
100
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
4
|
NOS
| |
IOPS Calculated
|
60
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
0.94
|
MBPS
|
Calculate the IOPS for the NAS Used with 7 Disk
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
100
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
7
|
NOS
| |
IOPS Calculated
|
105
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
2.87
|
MBPS
|
Its Clear when we use more no of disk the throughput of the NAS is Increased.
Its quite a task to work this out.. Its not easy but its with the formula you can play with different value of r% = 10, 25, 50 & 75.. You will notice that the throughput is better when the r% is lower.
Calculate the IOPS for the NAS Used with r% = 25%
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
25
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
7
|
NOS
| |
IOPS Calculated
|
124
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
3.39
|
MBPS
|
We can get better throughput is the simultaneous Read Write is Lower
- Changing the BLOCK SIZE from 4K to 64K
I am not sure if this is possible on NAS.. This Block size is created when the HDD is formatted when the RAID is created.
I have checked a few NAS and its noticed that some do.. Also Its noticed that ReadyNAS has a block size of 16K which makes the HDD not readable on other systems.
I honestly would like others to post there comments on these aspects.
Calculate the IOPS for the NAS Used with 64K Block Size
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
25
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
7
|
NOS
| |
IOPS Calculated
|
124
|
For the NAS/SAN
| |
Block Size
|
64
|
KBytes
| |
Read/ Write Speed
|
54.25
|
MBPS
|
Calculate the IOPS for the NAS Used with r% = 25%
| |||
IOPS=d*dIOPS/(%r+(F*%w))
| |||
%r
|
25
|
%
| |
%w
|
100
|
%
| |
RAID
|
5
| ||
F
|
4
| ||
dIOPS
|
75
| ||
No of DISK in NAS
|
7
|
NOS
| |
IOPS Calculated
|
124
|
For the NAS/SAN
| |
Block Size
|
4
|
KBytes
| |
Read/ Write Speed
|
3.39
|
MBPS
|
The Throughput is now 54MBPS when compared to 3.39MBPS, it an increase which will make the "QUALITY of Experience" (QoE) for the customer very very good.
This Blog is just a guideline and requires more verification.. I shall update this whenever I get time and learn from experiences
Regards
Srikanth Kamath