물리적 디스크가 지원할 수 있는 MAX 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 사용량이 낮을수록 좋습니다. (주의: 성능 결과가 2000이고 CPU 결과가 90%인 구성이 성능 1000, CPU 사용량 60을 제공하는 구성보다 CPU 사용 측면에서 더 좋습니다. %).