테크노아
> 기획&벤치 > 벤치마크
실제 Test를 하여 보았을 때 -1
테크노아  |  webmaster@technoa.co.kr
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2000.06.26  10:50:00
트위터 페이스북 미투데이 요즘 네이버 구글 msn

실제 Test를 하여 보았을 때 -1


하드 드라이브의 성능을 측정하고 결과를 얻어 보도록 하자 - #1

우선 실제 환경 벤치는 포기하고 이제는 하드 드라이브의 물리적인 성능을 측정하여 하드 드라이브의 실제 성능과의 연관성을 살펴 보도록 하겠다. 이 테스트를 위해서 Intel Storage Performance Toolkit r3.0을 이용하였다. 이 프로그램은 가능한 많은 테스트 샘플과 그리고 물리적인 하드 드라이브의 성능을 가장 정확하게 판별할 수 있지만 반대로 얻어지는 결과의 해석이 가장 난해한 프로그램이긴 하다. 따라서 필자의 설명이 다소 이해가 되지 않더라도 조금 천천히 이해할 수 있도록 부탁한다. 

디스크 서비스 시간(Disk Service Time) 측정

하드 드라이브에 데이터 읽기/쓰기 명령어를 전송하고 데이터를 얻기까지 걸리는 시간을 측정하는 것으로 일반 SeekTime과 유사한 개념이다. 아래의 그림은 읽기 성능을 측정한 것이다. 먼저, 무작위로 데이터의 위치를 지정하기 때문에 당연히 아래와 같은 함수 조건으로 얻어진다. 평균 데이터 억세스 성능은 Seagate T320420A가 13.61ms로 가장 늦고 IBM DTLA 307020이 12.2ms로 가장 빠르며 IBM DTLA 307030 제품이 12.54로 근사하게 낮은 성능을 갖는다. 이것은 30GB 제품이 물리적으로 많은 논리 트랙을 가지기 때문에 상대적으로 헤드 변화 시간이 추가로 필요하기 때문에 평균 억세스 성능은 떨어지게 된다. 또 한가지 특성으로 IBM 하드는 12ms 대역에 집중된 성능을 보이지만 상대적으로 Seagate 제품은 넓은 성능 변화를 보인다. 이것은 실제 하드 드라이브를 사용하는 과정에서 체감 성능을 다소 떨어뜨리는 역할을 하게 된다. 즉, 최소한 읽기 성능에서는 IBM 제품군이 Seagate 제품에 비하여 다소 성능이 높다.
이러한 성능 결과는 실제 제품의 사양서에 있는 8.x ms 에 비하면 4~5 ms 수준의 50% 정도의 편차가 발견된다. 이처럼 큰 차이가 발생하는 주된 이유는 지연시간/버퍼/명령어 타이밍이 모두 적용되어져 있기 때문이다. 다음의 글들을 차분히 읽어 보고 결과를 정리하기 바란다. 

 

 

버퍼 성능 측정

본 벤치 마크에 사용된 3가지 하드 드라이브에는 2MB의 버퍼 메모리가 내장되어 있다. 이 메모리는 디스크에서 읽은  데이터를 임시로 저장하고 있다가 이것을 시스템 메모리로 전송하는 중간 역할을 하며, 마치 캐쉬 메모리와 비슷한 기능을 한다. 따라서 버퍼 메모리가 클 수록 하드 드라이브의 성능은 현저하게 빨라질 수 있다. 이 성능은 시스템 인터페이스 지원 규격에 따라서 달라지는 성능이다. IBM DTLA 시리즈는 ATA/100 규격을 지원하며 이론적으로 100MB/s의 전송 성능을 가지고 Seagate ST320420A 제품은 ATA/66 규격으로 66.6MB/s의 전송 성능을 갖는다. 따라서 IBM 제품이 50% 정도 높은 성능을 가져야만 한다. 하지만, 실제의 결과는 다르다.
디스크 I/O 명령어 처리를 포함하지 않는 기본 지연 시간에서는 IBM 제품이 0.11ms 그리고 Seagate 제품이 0.16ms 수준으로 거의 50% 정도 차이가 발생하지만 데이터 전송 성능은 IBM 제품이 66.1MB/s 그리고 Seagate 제품이 53.3MB/s 수준으로 20% 정도의 차이만 발생한다. 또한, IBM 제품의 최대 성능은 인터페이스 성능의 66% 수준이고 Seagate 제품은 80% 수준으로 인터페이스 성능을 오히려 효율적으로 접근하고 있다. 여기서 IBM DTLA 제품이 ATA/100 규격을 지원할 필요가 있을 지가 의심스럽다. 오히려 ATA/66 규격을 100% 지원할 수 있는 정도이기 때문이다. 물론, 향후 출시될 10000 rpm 수준의 제품의 확장성을 고려하고 있겠지만 현재의 제품은 분명하게 ATA/66 성능을 100% 지원할 뿐이다.

 

 

쓰기 버퍼 성능은 읽기 성능과는 조금 다른 특성을 가지게 된다. 기록의 경우에 읽기에 비해서 지연 시간이 두 배 가까이 크게 발생한다. 기본적인 데이터 전송 속도는 비슷한 수준이지만 Seagate 제품이 약간 앞서고 있다. 반면에 지연 시간은 상당히 차이가 나게 된다. 따라서 데이터 전송 크기가 커지고 그리고 무작위 억세스가 발생한다면 기록 속도 부분에서는 비슷한 위치를 차지할 수 있게 된다. IBM 제품은 읽기 성능에 비해서 기록 성능 보다 상당히 떨어지지만 Seagate 제품은 반대로 기록 버퍼 전송 속도가 약간 빠르다. 
 

 

 

미디어 전송 성능

물리적으로 미디어에서 데이터를 전송하기 위해서는 미디어에서 데이터를 찾고 그리고 데이터를 읽게 되므로 데이터를 찾는 과정에서 시간이 상대적으로 크게 소요된다. 이것은 맨위에서 설명한 디스큰 서비스 시간과 같은 개념이다. 실제로 Latency time과 Seek 속도가 동일하다. 이것은 두가지의 테스트에서의 데이터 신뢰도고 높다는 것을 의미한다.
성능 측정 결과를 보면 IBM DTLA 307020 제품이 초기 지연이 가장 작고 Seagate ST320420 제품이 가장 느린 지연시간을 보여준다. 하지만 실제 데이터를 디스크에서 읽어 들이는 미디어 전송 속도는 27MB/sec 수준으로 드라이브에 따라서 큰 차이를 보이지 않는다.  디스크 초기 영역을 사용하기 때문에 IBM DTLA 307030 > IBM DTLA 307020 > Seagate ST320420A 경향을 보이게 된다. 

 

 

 

CPU 이용율 측정

과거 하드 드라이브는 PIO 전송 규격을 지원하였기 때문에 상대적으로 높은 CPU 의존율을 가지고 있었지만 최근의 하드 드라이브는 DMA 모드를 지원하고 또한 버스 마스터링 모드를 기본으로 사용하기 때문에 하드 드라이브에 데이터 읽기/쓰기 명령어만 전송하면 이후의 실제 데이터 전송 작업은 하드 드라이브에서 자동적으로 이루어지게 된다. 실제로 1000번의 데이터 읽기/쓰기 명령어를 전송해도 모든 하드 드라이브가 대략 9% 수준의 CPU 이용율을 보이며, 1번의 데이터를 읽기/쓰기 위해서 점유되는 시간은 0.01% 수준으로 실제 시스템 성능에 크게 영향을 주지 않는 다는 것을 알 수 있다. 물론, 일반 응용 프로그램이 실행이 될 때는 프로그램에 따라서 억세스 명령어의 횟수는 수십에서 수백회까지 될 수는 있다.

 

테크노아의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 요즘 네이버 구글 msn 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
e피플
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
나이가 들면 들수록 공부하기가 어렵다는 말이 있다. 더군다나 실업인 상태에서 공부하는 것이라면 부담이 더 클 수 밖에 없다.하지만 이를 비웃듯이 극복하고, 올해 2월 공조냉동기능사...

제호 : 테크노아  |  발행인 : 김필규  |  편집인 : 김필규  |  청소년보호책임자 : 박상규
서울지사 : 서울특별시 구로구 디지털로32가길 18, 7F | 제보 : it@technoa.co.kr
발행소 : 전라북도 전주시 완산구 전룡6길 6 3F | 등록번호 : 전라북도 아00057
등록일자 : 2008년 1월 14일  |  대표전화 : 070-8755-6291  |  FAX : 02-6280-9562
Copyright © 1999-2017 테크노아. All rights reserved. mail to technoa@technoa.co.kr