물리적 디스크가 지원할 수 있는 최대 I/O를 찾는 방법은 무엇입니까?
내 애플리케이션이 I/O를 수행하고 있으며 찾을 수 있습니다.실제Linux 명령(Blk_wrtn/s)을 사용한 처리량입니다. 하지만 내가 도달할 수 있는 최대 한도는 어떻게 찾을 수 있나요? 추가로 충전이 가능한지 궁금합니다.
답변1
분명히 Unix 도구를 사용하는 것이 가장 쉬운 방법입니다. 테스트 케이스를 생성하여 최대 작동을 측정하고 적절한 도구를 사용하여 성능을 측정할 수 있습니다. 훌륭한 리소스는 여기에서 찾을 수 있습니다:LINUX - 스토리지 읽기 및 쓰기 속도 테스트
sudo hdparm -tT /dev/sdX
예를 들어 읽기 테스트.
측정 쓰기:
dd if=/dev/random of=<some file on the hd> bs=8k count=10000; sync;
# Hit CONTROL-C after 5 seconds to get results
# 65994752 bytes (66 MB) copied, 21.8919 s, 3.0 MB/s
flag
노트
설명에서 지적했듯이 이 dd
명령은 파일 시스템도 측정합니다 /dev/random
. 환경의 쓰기 성능도 측정하지만 이는 하드 드라이브 성능에 크게 좌우됩니다.
답변2
Blk_wrtn/s는 실제로 작업 부하 유형에 따라 다릅니다. 선형 쓰기는 훨씬 빠르지만 임의 쓰기는 느릴 수 있습니다. 따라서 숫자를 말할 수는 없지만 iozone, dbench와 같이 다양한 워크로드를 시뮬레이션하고 벤치마킹할 수 있는 도구가 많이 있습니다.
이제 현재 작업 부하를 모니터링하기 위해 일반적으로 iostat를 사용합니다. 예를 들어:
iostat -x 10
마지막 열은 %util입니다. 100 미만인 경우에도 거기에 약간의 IO 로드를 넣을 수 있습니다. 물론, 항상 약간의 여유 공간을 확보하고 싶기 때문에 워크로드 안정성과 필요한 응답성에 따라 60~90%가 현실적인 목표입니다.
답변3
다음과 같은 벤치마킹 도구를 사용할 수 있습니다.보니++
매뉴얼 페이지에서
Bonnie++는 하드 드라이브 및 파일 시스템의 성능 또는 성능 부족을 테스트하는 프로그램입니다. 파일 시스템 작업에는 다양한 유형이 있으며 다양한 응용 프로그램에서 파일 시스템 작업을 다양한 수준으로 사용합니다. Bonnie++는 그 중 몇 가지를 테스트하고 각 테스트에 대해 초당 수행된 작업량과 소비된 CPU 시간 비율에 대한 결과를 제공합니다. 성능 결과는 숫자가 높을수록 좋고, CPU 사용량은 숫자가 낮을수록 좋습니다(참고로 CPU 사용량은 성능 결과 점수가 2000, CPU 결과는 90% 구성 비율 성능 결과 1000과 60 CPU로 구성) 사용법이 더 좋습니다).