단일 Lustre 클라이언트의 Lustre 설치 파일 시스템 저장 기능을 벤치마킹하고 싶습니다.
저는 스토리지 관리자가 아닌 애플리케이션 개발자이므로 여러 클라이언트의 스토리지 쓰기 대역폭 포화도에 대해 걱정하지 않고, 단일 애플리케이션 서버/Lustre 클라이언트가 한 번에 얼마나 쓸 수 있는지에 대해 걱정합니다. 내 응용 프로그램의 성능.
내가 찾은이 페이지에는 여러 벤치마크가 있습니다., 하지만 모두가 하나의 클라이언트를 사용하는 대신 여러 클라이언트를 동시에 구성하는 데 관심이 있는 것 같습니다. 내가 찾고 있는 것에 대해 더 흥미로운 것이 있나요?
또는 dd를 사용하여 다양한 블록 크기와 개수의 파일 시스템을 벤치마킹하는 간단한 스크립트가 있습니다. Lustre 클라이언트에서 이 dd 스크립트를 실행하여 얻은 결과를 신뢰할 수 있습니까? 그렇지 않다면 왜 그렇습니까? 네트워크 대역폭으로 인해 제한이 있다는 것을 알고 있지만 이로 인해 성능이 어떻게 제한되는지 알고 싶습니다.
답변1
Linux 페이지 캐시 성능 제한으로 인해 우수한 네트워크 및 스토리지 기능을 갖춘 Lustre 클라이언트는 단일 스레드 쓰기로 약 1-2GB/s의 속도를 달성할 수 있습니다. 단일 클라이언트의 여러 개별 파일에 쓰는 여러 스레드는 현재 Lustre 버전에서 최대 약 10GB/s의 네트워크 또는 CPU 제한까지 더 높은 성능을 달성할 수 있습니다. 현재 8개의 100GBit 네트워크 인터페이스를 갖춘 DGX100 클라이언트에서 이를 잠재적인 50GB/s로 늘리려는 노력이 진행 중입니다.
"dd"에 어떤 옵션을 사용하고 있나요? 예를 들어 "bs=1MB"가 없으면 "dd"는 시스템 호출당 512바이트를 쓰게 되며 이는 마치 수영장에 물 한 컵을 채우는 것과 같이 매우 비효율적입니다. 대용량 파일 쓰기(예: 32MB 이상)를 수행하면 O_DIRECT
성능이 향상될 수도 있습니다.