
디스크 하위 시스템의 8K 페이지 I/O 용량을 파악하려고 합니다. 드라이브는 RAID-5 구성의 SATA 7200 RPM - 4개 드라이브입니다. SCSI 컨트롤러에 대해서는 잘 모르겠지만 서버는 약 5년 정도 된 것 같습니다.
답변1
알아야 할 또 다른 사항은 순차 I/O 요청과 무작위 I/O 요청의 비율입니다. 이는 I/O 작업 속도에 상당한 영향을 미칠 수 있습니다. 회전식 미디어의 경우 100% 무작위 요청이 I/O 작업의 하한이고 100% 순차 요청이 상한입니다.
또한 RAID5로 작업하게 되므로 읽기/쓰기 비율이 I/O 작업에도 영향을 미칩니다. 이는 RAID 카드에 의해 크게 영향을 받을 수 있으므로 '쓰기가 읽기보다 느립니다' 외에는 엄격하고 빠른 경험 법칙이 많지 않으며 심지어 RAID 카드의 지능형 캐싱으로 인해 이러한 규칙이 손상될 수도 있습니다.
7.2K RPM 드라이브는 어느 시점에서 I/O 포화 상태에 도달하지만, 많은 쓰기를 처리할 때 RAID 카드가 그보다 훨씬 전에 CPU 포화 상태에 도달할 수도 있습니다.
확실히 알 수 있는 유일한 방법은 테스트하는 것입니다. Evan이 말했듯이 iometer는 오랜 실적을 가지고 있습니다. 나는 또한 사용했다요오존좋은 효과를 위해서. iometer만큼 고급은 아니지만 사용하기가 조금 더 간단합니다.
답변2
답변3
저는 sysbench를 사용하여 이런 종류의 테스트를 수행했습니다. 내가 한 일은 시스템 메모리보다 몇 배 더 큰 대용량 테스트 파일을 만들고 무작위 IO 쓰기만 테스트하는 것이었습니다. 그러면 유용한 최악의 경우 측정항목이 제공됩니다. 나는 그 테스트에 관한 모든 크기 조정을 할 것입니다. 실제 성능은 캐싱과 읽기 및 쓰기 트래픽의 혼합, 순차 IO를 수행하는 모든 기능으로 인해 그보다 더 좋을 것입니다. IO 병목 현상이 공간 문제보다 해결하기가 훨씬 어렵다는 것을 알았으므로 IOPS를 중심으로 최적화할 것입니다.
기회가 된다면 4디스크 RAID 5를 RAID 10으로 재구성하는 방법을 살펴보겠습니다. 그렇게 하면 일반적으로 더 나은 쓰기 IO 성능을 얻을 수 있습니다. 두 가지 조건에서 하드웨어가 정확히 어떻게 작동하는지 확인하기 위해 두 가지 방법을 모두 테스트할 수 있습니다.
내 경험상 7.2k 드라이브는 약 150 IOPS, 10K는 약 200, 15k는 최대 250까지 추가할 수 있다는 것입니다. 물론 이는 다소 낙관적일 수도 있습니다. 각 미러는 읽기에 대해 추가된 IOPS를 제공하고 각 스트라이프는 쓰기에 대해 추가된 IOPS를 제공합니다. 예를 들어 7.2,000개의 디스크가 포함된 4개의 디스크 RAID 10은 최악의 경우 최대 300 IOPS의 쓰기를 제공할 수 있지만 그 이상은 제공할 수 없습니다. RAID 5는 작성되는 데이터의 양과 구현의 지름길 또는 최적화에 따라 변수가 될 수 있으므로 추정하기가 더 복잡합니다. 일반적인 경우 64k 스트라이프에 대한 8k 쓰기는 궁극적으로 4개 디스크 RAID에서 5 IOPS, 각 스트라이프를 읽는 데 3 IOPS, 업데이트되는 데이터 스트라이프와 패리티 스트라이프에 대해 각각 1 IOPS를 발생시킵니다. RAID 5의 쓰기 IOPS는 RAID 10의 동일한 디스크 수의 약 절반이므로 4개의 디스크 RAID 5는 무작위 쓰기 IO에 대해 최악의 경우인 150 IOPS를 가지며 단일 디스크보다 낫지 않습니다.