HDD에 1Gbps의 속도로 데이터를 저장하고 싶습니다. 대략 125MByte/s네요.
리눅스 시스템 상에서 가능할까요?
시중에 나와 있는 HDD로는 접근속도와 전송속도 고려시 일반적인 posix api file write함수로 불가능한 것 같습니다.
커널의 블록 디바이스 드라이버를 건드리면 가능할까요?
요즘 가격대 성능비 최고인 250G 7200rpm 하드들의 전송속도는 보통 50~60Mbytes/sec 정도입니다.
burst로 할 경우에 한합니다. random access이면 헤드의 기계적 움직임 때문에 더 떨어지죠.
정 궁금하시면 루트권한으로 아래 명령 내려보세요.
hdparm -tT /dev/xxx
buffered disk read가 실제 디스크 전송속도가 되겠죠.
제 컴퓨터는 이렇게 나오네요.
meow ~ # for name in sd{a,b,c,d}; do hdparm -tT /dev/$name; done
/dev/sda:
Timing cached reads: 3808 MB in 2.00 seconds = 1905.45 MB/sec
Timing buffered disk reads: 168 MB in 3.02 seconds = 55.67 MB/sec
/dev/sdb:
Timing cached reads: 3756 MB in 2.00 seconds = 1878.03 MB/sec
Timing buffered disk reads: 140 MB in 3.00 seconds = 46.60 MB/sec
/dev/sdc:
Timing cached reads: 3716 MB in 2.00 seconds = 1858.62 MB/sec
Timing buffered disk reads: 188 MB in 3.02 seconds = 62.15 MB/sec
/dev/sdd:
Timing cached reads: 3792 MB in 2.00 seconds = 1896.17 MB/sec
Timing buffered disk reads: 186 MB in 3.00 seconds = 61.97 MB/sec
sda, sdb가 시게이트 250G 7200rpm, sdc sdd가 웬디 250G 7200rpm...
(한개가 가장 먼저 맛갈듯...)
125Mbytes/s를 안정적으로 얻으실려면 최소 3개 이상 RAID0롤 하셔야 하고,
또! PCI 버스 방식의 RAID 카드는 대역폭제한걸리므로 못쓰고요.
PCI Express RAID카드를 써야겠군요. PCI-E는 1x가 단방향 200Mbytes 나옵니다.
단일 디스크로는 불가능하지 않던가요?
물리적 움직임때문에 속도에 한계가 있는걸로 알고 있는데 그것을 뛰어 넘을 수는 없겠죠 ;
그래서 RAID 같이 다수의 디스크를 묶어서 원하시는 속도 만큼 은 낼 수 있을것 같습니다만...
(물론 많이 붙인다고 무한정 빨라지는것은 아닙니다 ..=3=3=3)
단일 디스크에 100MB/s 이상의 속도는 아마 현존하는 디스크로는 불가능하지 않나 싶습니다 .
요즘 가격대 성능비
요즘 가격대 성능비 최고인 250G 7200rpm 하드들의 전송속도는 보통 50~60Mbytes/sec 정도입니다.
burst로 할 경우에 한합니다. random access이면 헤드의 기계적 움직임 때문에 더 떨어지죠.
정 궁금하시면 루트권한으로 아래 명령 내려보세요.
buffered disk read가 실제 디스크 전송속도가 되겠죠.
제 컴퓨터는 이렇게 나오네요.
sda, sdb가 시게이트 250G 7200rpm, sdc sdd가 웬디 250G 7200rpm...
(한개가 가장 먼저 맛갈듯...)
125Mbytes/s를 안정적으로 얻으실려면 최소 3개 이상 RAID0롤 하셔야 하고,
또! PCI 버스 방식의 RAID 카드는 대역폭제한걸리므로 못쓰고요.
PCI Express RAID카드를 써야겠군요. PCI-E는 1x가 단방향 200Mbytes 나옵니다.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
댓글 달기