SSD 디스크 및 10Gbe 네트워크를 통한 iSCSI 성능 저하


10

iSCSI 대상

LVM 기반 iSCSI 대상인 16GB RAM 및 16 코어 CPU를 갖춘 Ubuntu 14.04 (Trusty Tahr)는 3 개의 삼성 SSD 디스크를 사용하여 iSCSI 대상으로, 각각 캐시 된 LSI 6 Gbit / s 컨트롤러를 사용하여 65k IOPS를 수행 할 수 있습니다.

대상의 SSD 디스크 벤치 마크 :

fio --filename=/dev/sdd --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=ssd-max

iops=65514

여기서 3 개의 Samsung 850 EVO SSD를 사용하여 sdd하드웨어 RAID 0 에서 구성됩니다 .

창시자

32GB RAM과 8 코어 CPU를 사용하여 Ubuntu 14.04 클라이언트에서 500G LUN을 내보냈습니다.

내 보낸 LUN의 벤치 마크

fio --filename=/dev/sdg --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=client-max

iops=2400

DAS 및 네트워크를 통해 수행 할 때 성능이 크게 저하되어 최소 10k IOPS가 예상되었습니다.

대상과 이니시에이터 간 통신은 1ms 미만이며 iperf는 9.2Gbit / s의 네트워크 처리량을 보여줍니다.

디스크에 쓰기 전에 각 데이터가 이니시에이터와 대상의 네트워크 스택을 거쳐야하므로 4k 쓰기에 성능에 영향을 미칠 수 있음을 이해하지만 65k에서 2k로 용납 할 수 없습니다.

문제는 어디에있을 수 있습니까? 나는이 10 기가비트 / s의 이더넷 대상과 기자 사이에 NIC를. 어떤 아이디어?


2
정보가 충분치 않은 곳도없고 수정 구슬은 비용이 많이 들지 않는 고객에게 낭비하기에는 너무 비쌉니다. 도움이 필요하면 문제를 해결하는 데 도움이되는 의미있는 정보를 제공하십시오.
TomTom

시간이 있으면 제안 사항을 도와주세요. 내 질문을 편집했습니다.
케빈 파커

NIC 및 CPU는 소프트웨어 iSCSI 설정에서 병목 현상이 발생할 가능성이 있으므로 해당 항목을 언급 할 수 있습니다.
rakslice

답변:


20

짧은 답변 : 이 네트워크 대기 시간의 결과입니다 (사용에 의해 부과와 같은 직렬 작업 부하 direct=1, sync=1그리고 iodepth=1).

긴 대답 : 사용 direct=1, sync=1그리고 iodepth=1이전의 기록이 커밋되기 전에 새로운 쓰기가 대기 할 수 없기 때문에 당신은, 직렬 작업 부하를 생성 하고 확인했다. 다시 말해 쓰기 전송률은 네트워크 대기 시간에 따라 크게 달라집니다. ping두 시스템 사이 의 단순함 은 0.2ms를 초과 할 수 있으며, 더 높은 수준의 프로토콜을 TCP (및 그 위에 iSCSI)로 사용하는 경우에는 더욱 그러합니다. 총 0.33ms의 총 네트워크 대기 시간을 가정하면 최대 IOPS 값은 약 3000입니다. 이는 다른 대기 시간 소스 (예 : 디스크 자체)를 고려하지 않으므로 기록한 내용과 일치합니다.

시도해보십시오 : 없이 첫 번째 벤치 마크를 실행하고 --direct=1 --sync=1이러한 옵션을 사용하여 다른 벤치 마크를 수행 하지만 iodepth요청을 32 개로 늘리십시오 . 그런 다음 여기에 결과를보고하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.