2017-10-26 22 views
-2

인텔의 SSD 제품 specification을 읽는 중입니다. 여기에 표가 있습니다.SSD의 "일반적인"대기 시간은 무엇을 의미합니까?

Latency (typical) read/write < 10 us 

그러나이 번호를 설명하는 자세한 내용은 없습니다. "일반적인"의미는 누구가 아는가? 의미 :

  • 4KB 순차적 쓰기?
  • 대기열 깊이 = 1?
  • 각 쓰기 작업 후에이 시간에 fsync()을 수행합니까? 아니면 버퍼에 쓰기 위해 시간이 포함 되었습니까?

귀하의 도움에 많은 시간을드립니다.

+0

아마도 펌웨어가 느린 작업을해야하기 때문에 읽기/쓰기가 너무 느릴 수도 있습니다. 유추 : 해시 테이블 삽입은 O (1) * amortized * 시간이지만 더 큰 테이블을 재 할당해야하는 삽입은 매우 비쌉니다. IDK는 인텔이 말하는 것에 비유할만한 것이지만 대기 시간에 대한 히스토그램을 작성하면 10 달러 미만의 큰 클러스터와 긴 꼬리가있을 것이라고 생각합니다. –

+0

스택 오버플로는 프로그래밍 및 개발 관련 질문에 대한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. – jww

답변

1

이러한 사양은 운영 체제가 I/O를 전송하고 I/O를받은 디스크에서 응답을 다시받을 때의 일반적인 대기 시간/대역폭에 대한 것입니다.

[의미는?] 4KB 순차 쓰기?

자세한 사양으로 살펴보아야합니다. "typical"이라는 단어는 의도적으로 모호 합니다만 I/O가 너무 커서 (64k 이하가 아님) 지연 시간과 관련하여 순차적이든 무작위이든간에 중요하지 않을 것입니다.

큐의 깊이 = 1입니까?

또한 너무 자세한 사양에 그를 검색해야하지만 나는 적어도 SSD의 관점 의 깊이까지 상상 것 (하지만 훨씬 높은 수)

각 쓰기 작업 후에 fsync()를 포함합니까? 아니면 그냥 버퍼에 쓰기위한 시간을 포함합니까?

"귀하의 질문은 상황에 따라 이상하고 혼란 스럽습니다." 인텔은이 숫자를 가진 파일 시스템 오버 헤드를 포함하지 않을 것이며 "디스크에서 곧바로"작동하는 I/O에 대해서만 이야기합니다. fsync은 파일 시스템 개념에 더 가깝고 인텔이 말하는 것과 직각을 이룹니다.

Linux (fio) 글꼴에서 Intel 번호는 아마도 블록 장치에 직접 입력 된 으로 I/O에서 올 것입니다. 언제 --filename=/dev/sdb --direct=1 --ioengine=libaio을 사용하면 파일 시스템 오버 헤드와 Linux 페이지 캐시 간섭이 배제되지만 여러 I/O를 신속하게 제출할 수 있기 때문입니다. 이전에 언급했듯이 iodepth도 알아야합니다 (iodepth가 1 인 경우보다 대기 시간이 더 좋아 보이지는 않지만 비동기 I/O 엔진의 이점은 볼 수 없습니다. 단지 1의 깊이).

경고 : FIO가 파괴인 및 데이터 파괴 특히 전체 블록 디바이스에서 동작 할 때. 하나의 전표로 완전히 파괴 될 수있는 환경에서만 벤치마킹을하고 있는지 확인하고 데이터가 양호하게 처리되었는지 확인하십시오.

지금은 로그 아웃했으며 더 이상 팔로우하지 않습니다. 코멘트에서 제안했듯이,이 질문은 Stack Overflow에 맞지 않다고 생각합니다.하지만이 질문을 할 수있는 적절한 포럼을 찾을 수 있기를 바랍니다 (수퍼 유저의 소리가 더 좋음). 행운을 빕니다!