대기열 길이 개요를 계산합니다
노드별 및 FC 포트 팬인 당 ITNs의 최대 값을 얻으려면 호스트에서 FC 큐 길이를 조정해야 할 수 있습니다. FC 포트에 연결할 수 있는 HBA의 수와 LUN의 최대 수는 FC 타겟 포트에서 사용 가능한 큐 깊이로 제한됩니다.
큐 깊이는 스토리지 컨트롤러에서 한 번에 대기열에 넣을 수 있는 입출력 요청(SCSI 명령)의 수입니다. 호스트의 이니시에이터 HBA에서 스토리지 컨트롤러의 타겟 어댑터로 연결되는 각 입출력 요청은 대기열 항목을 사용합니다. 일반적으로 큐 길이가 클수록 성능이 향상됩니다. 그러나 스토리지 컨트롤러의 최대 큐 수준에 도달하면 해당 스토리지 컨트롤러는 QFULL 응답을 반환하여 들어오는 명령을 거부합니다. 많은 수의 호스트가 스토리지 컨트롤러에 액세스하고 있는 경우, 시스템 성능이 크게 저하되어 일부 시스템에서 오류가 발생할 수 있는 QFULL 조건을 피할 수 있도록 신중하게 계획해야 합니다.
여러 이니시에이터(호스트)가 있는 구성에서는 모든 호스트에 유사한 대기열 깊이가 있어야 합니다. 동일한 타겟 포트를 통해 스토리지 컨트롤러에 접속된 호스트 간의 큐 크기가 서로 다르기 때문에 큐 크기가 작은 호스트는 큐 크기가 큰 호스트에 의해 리소스에 액세스할 수 없습니다.
다음과 같은 일반적인 권장 사항은 ""조정"" 대기열 깊이에 대해 만들 수 있습니다.
-
중소 규모 시스템의 경우 HBA 대기열 길이가 32인 HBA를 사용합니다.
-
대규모 시스템의 경우 HBA 대기열 길이가 128인 HBA를 사용합니다.
-
예외 케이스 또는 성능 테스트의 경우 큐 처리 문제가 발생하지 않도록 256개의 큐 길이를 사용하십시오.
-
모든 호스트는 모든 호스트에 동일한 액세스를 제공하기 위해 유사한 값으로 설정된 대기열 깊이를 가져야 합니다.
-
성능 패널이나 오류를 방지하려면 스토리지 컨트롤러 타겟 FC 포트 큐 길이를 초과하지 않아야 합니다.
-
하나의 FC 타겟 포트에 연결되는 모든 호스트의 총 FC 이니시에이터 수를 계산합니다.
-
128을 곱합니다.
-
결과가 2,048보다 작으면 모든 이니시에이터에 대한 대기열 길이를 128로 설정합니다. 스토리지 컨트롤러의 각 타겟 포트 2개에 하나의 이니시에이터가 접속된 호스트 15개가 있습니다. 15 × 128 = 1,920. 1,920은 총 대기열 길이 제한인 2,048보다 작기 때문에 모든 이니시에이터에 대한 대기열 길이를 128로 설정할 수 있습니다.
-
결과가 2,048보다 크면 3단계로 이동합니다. 스토리지 컨트롤러의 각 타겟 포트 2개에 하나의 이니시에이터가 연결된 30개의 호스트가 있습니다. 30 × 128 = 3,840. 3,840이 총 대기열 길이 제한인 2,048보다 크기 때문에 3단계에서 해결 방법 중 하나를 선택해야 합니다.
-
-
다음 옵션 중 하나를 선택하여 스토리지 컨트롤러에 호스트를 더 추가합니다.
-
옵션 1:
-
FC 타겟 포트를 추가합니다.
-
FC 이니시에이터를 재배포합니다.
-
1단계와 2단계를 반복합니다. + 원하는 큐 길이 3,840이 포트당 사용 가능한 큐 길이를 초과합니다. 이를 해결하기 위해 각 컨트롤러에 2포트 FC 타겟 어댑터를 추가한 다음, 30개 호스트 중 15개가 1개의 포트 세트에 연결되고 나머지 15개 호스트는 2번째 포트 세트에 연결되도록 FC 스위치를 재존할 수 있습니다. 그런 다음 포트당 큐 깊이가 15 × 128 = 1,920으로 줄어듭니다.
-
-
옵션 2:
-
예상되는 I/O 요구 사항에 따라 각 호스트를 "대형" 또는 "소형"으로 지정합니다.
-
큰 이니시에이터 수에 128을 곱합니다.
-
작은 이니시에이터 수에 32를 곱합니다.
-
두 결과를 함께 추가합니다.
-
결과가 2,048보다 작으면 큰 호스트의 대기열 길이를 128로, 작은 호스트의 대기열 길이를 32로 설정합니다.
-
결과가 포트당 2,048보다 크면 총 대기열 길이가 2,048보다 작거나 같을 때까지 이니시에이터당 대기열 길이를 줄입니다.
초당 특정 I/O 처리량을 달성하는 데 필요한 큐 길이를 예측하려면 다음 수식을 사용합니다.
필요한 대기열 길이 = (초당 I/O 수) × (응답 시간)
예를 들어, 응답 시간이 3밀리초인 초당 40,000회의 I/O가 필요한 경우 필요한 큐 깊이는 40,000 × (.003) = 120입니다.
-
-
대기열 길이를 기본 권장 사항 32로 제한하려면 대상 포트에 연결할 수 있는 최대 호스트 수는 64개입니다. 그러나 큐 크기가 128로 결정되면 최대 16개의 호스트를 하나의 타겟 포트에 연결할 수 있습니다. 대기열 길이가 클수록 단일 타겟 포트에서 지원할 수 있는 호스트 수가 줄어듭니다. 대기열 길이를 손상시키지 않는 요구 사항이 있는 경우 더 많은 대상 포트를 얻을 수 있습니다.
원하는 큐 길이 3,840이 포트당 사용 가능한 큐 길이를 초과합니다. 스토리지 I/O 요구 사항이 높은 10개의 "대용량" 호스트와 I/O 요구 사항이 낮은 20개의 "소규모" 호스트가 있습니다. 큰 호스트의 이니시에이터 큐 길이를 128로, 작은 호스트의 이니시에이터 큐 길이를 32로 설정합니다.
총 큐 깊이는 (10×128) + (20×32) = 1,920입니다.
사용 가능한 대기열 길이를 각 이니시에이터에 균등하게 분산시킬 수 있습니다.
결과적인 이니시에이터당 대기열 길이는 2,048 ÷ 30 = 68입니다.