Description Guideline for the correct configuration with respect to the number of iscsi sessions if VRM Load Balancing in All Mode is used Version 1.0 STVC/PRM Page 1 of 6
Content 1 Introduction 3 2 Load Balancing Basics 4 2.1 Calculation Basis 4 2.1.1 Number Of Connected BVIP Devices 4 2.1.2 Number Of iscsi Sessions 6 Page 2 of 6
1 Introduction This technical note provides a calculation background for Bosch Video Recording Manager with Load Balancing when used in All mode. The Load Balancing feature is implemented for the maximum bandwidth and the maximum concurrent iscsi sessions per disk array (IP address) not per target. Due to the block-based nature of VRM and the built-in redundancy for the recording mode the number of BVIP device that may be connected to storage arrays must be carefully calculated. Page 3 of 6
2 Load Balancing Basics In general the Bosch VIP devices need one iscsi session per module and storage array not per camera. For example the Dinion IP, the VJ X series represent one module; the VIP X1600 is equipped with four modules. Per camera two 1GB blocks are mounted by the device: one for the actual recording, the other one is pre-mounted to provide for a seamless recording when the first block is used up. From a module perspective a Dinion IP consumes two blocks at a time, the VIP X1600 eight blocks. From a statistical perspective each block could reside on a different iscsi target. That would make 2 sessions per Dinion IP and max 8 sessions per VIP X1600 module. The number of concurrent sessions per device does not affect the performance of the encoder module as an iscsi session only consumes a small piece of memory and a very small administration overhead. The main contribution to the load is the actual iscsi traffic and that will always be the same whether the 1 GB blocks reside on one or eight storage arrays. 2.1 Calculation Basis 2.1.1 Number Of Connected BVIP Devices The following calculation is based on a worst case scenario, i.e. complete statistical distribution of mounted 1 GB blocks per Bosch VIP device. Page 4 of 6
To illustrate the Load Balancing behaviour one VIP X1600 module with four cameras is used: If a disk array with a sufficient maximum number of concurrent iscsi connections is used there may be 64 encoder modules connected to one disk array (each module consumes 1 iscsi session). If a second disk array is added and taking a statistical distribution into account you will have two iscsi sessions in parallel (one to each disk array) and you will still only be able to connect 64 encoder modules. To put it into a more formal presentation: Parameters: Number of lines per IP Input: [nbroflineinputsperip] Max number of iscsi sessions per Module: [MnbrOfSessionsPerMod] Max number of disk arrays used per Module: [MnbrOfDiskArraysPerMod] [nbroflineinputsperip] * 2 = [MnbrOfSessionsPerMod] [MnbrOfSessionsPerMod] = [MnbrOfDiskArraysPerMod] Examples: 1) 16 x VIP X 1600 = 64 Encoder modules [MnbrOfSessionsPerMod]: 4 x 2 = 8 [MnbrOfDiskArraysPerMod]: 8 Conclusion: If the storage array has a maximum of 64 concurrent iscsi sessions 64 encoder modules may be connected per disk array. Due to the Load Balancing in All mode which means complete statistical distribution the limit of 64 encoder modules will persist until more than 8 disk arrays are available to the encoder modules. The number of modules that may then be connected will increase by 1/8 x 64. 2) 64 x Dinion IP [MnbrOfSessionsPerMod]: 1 x 2 = 2 [MnbrOfDiskArraysPerNbrOfMod]: 2 Conclusion: If the storage array has a maximum of 64 concurrent iscsi sessions 64 Dinion IP cameras may be connected per disk array. For a Dinion IP the limit of 64 devices will persist until more than 2 disk arrays are available. The number of modules that may then be connected will increase by 1/2 x 64. Page 5 of 6
2.1.2 Number Of iscsi Sessions The following calculation is based on a worst case scenario, i.e. complete statistical distribution of mounted 1 GB blocks per Bosch VIP device. The result of this calculation yields the number of iscsi sessions based on the number of used iscsi disk arrays and BVIP devices. Parameters: Number of iscsi disk arrays: [nbrofdiskarrays] Number of BVIP modules: [nbrofmod] Number of lines per IP Input: [nbroflineinputsperip] Max number of iscsi sessions: [MnbrOfSessions] Basically there has to be differentiated between two configurations: 1) If [nbrofdiskarrays] >= [nbroflineinputsperip]*2 [MnbrOfSessions] = [nbrofmod] * [nbroflineinputsperip]*2 2) If [nbrofdiskarrays] < [nbroflineinputsperip]*2 [MnbrOfSessions] = [nbrofmod] * [nbrofdiskarrays] Examples: 1) 75 x VIP X 1600 = 300 encoder modules; 5 x iscsi disk arrays If [nbrofdiskarrays] < [nbroflineinputsperip]*2: 5 < 8 [MnbrOfSessions] = 300 * 5 = 1500 2) 75 x VIP X 1600 = 300 Encoder modules; 20 x iscsi disk arrays If [nbrofdiskarrays] >= [nbroflineinputsperip]*2: 20 => 8 [MnbrOfSessions] = 300 * 8 = 2400 3) 300 x Dinion IP; 5 x iscsi disk arrays If [nbrofdiskarrays] >= [nbroflineinputsperip]*2: 5 => 2 [MnbrOfSessions] = 300 * 2 = 600 Page 6 of 6