애플리케이션이 느리게/벗겨진 파일 시스템을 올바르게 처리하는지 여부를 테스트하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1408320

문제

느린 파일 시스템 (예 : Networked, CD/DVD 또는 Spun-Down HDD)에서 파일에서 작업 할 때 내 응용 프로그램에 UI 정지가 없도록하고 싶습니다.

코코아 파일 시스템 작업을 직접 사용하고 있습니다. 나는 단지 테스트를 위해 모든 것을 조롱하거나 추상화하기 위해 너무 많은 노력이 될 것이며, 내 프로그램이 파일 시스템에 닿는 거품이없는 방법이있을 수 있습니다.

테스트를 위해 네트워크 드라이브를 사용해 보았지만 OS 캐싱은 테스트를 반복 할 수없고 ... 너무 빠릅니다 :)

고의적으로 느린 MacFuse FileSystem과 같은 것이 있습니까? 예상치 못한 지연으로 인한 모든 UI 딸꾹질 및 인종 조건을 찾을 수있는 다른 방법은 무엇입니까?

도움이 되었습니까?

해결책

가장 쉬운 대답은입니다 MacFuse 다른 곳에서 언급 된 바와 같이; 시뮬레이션하기가 매우 쉽습니다. 또한 NFS를 통해 공유를 장착 한 다음 내장을 사용하여 비트 스로틀링을 사용할 수도 있습니다. ipfw, 처럼:

IPFW 파이프 1 구성 1KBYTE/S IPFW 추가 1 파이프 1 SRC-PORT 2049

또는 WebDAV를 사용하는 경우

IPFW 1 파이프 1 SRC-PORT 80을 추가합니다

그러면 정의한 파이프 레벨에서 요청을 물에 뿌릴 것입니다. 다음과 같이 다시 제거 할 수 있어야합니다.

IPFW 삭제 1

다른 팁

느린 엄지 드라이브를 사나요? 나는 Best Buy에서 빙하 인 일부를 발견했습니다. 여러 USB 허브와 키보드를 통해 플러그를 꽂으십시오.

-W

코코아 프레임 워크로 MacFuse 파일 시스템을 작성하는 것은 쉬운 일입니다. 실제로 나는 로컬 파일 시스템을 반영하는 예제 시스템도 있다고 생각합니다. 모든 작업 중에 잠시 동안 잠시 () 호출되도록 해당 코드를 신속하게 조정하지 않겠습니까?

문제가 발생하는 것에 대해 걱정하는 위치에 따라, 첫 번째 생각은 앱과 파일 I/O 사이에 추가 기능 호출 계층을 포함하고 해당 Sleep () 호출에 해당 레이어 빌드에 포함시키는 것입니다. 즉, 사용하는 언어가 무엇이든 "읽기"호출을 "readDelegate"로 바꾸고, 지정된 시간 동안 ReadDelegate를 잠들게 한 다음 실제 읽기를하고 가치를 반환하십시오. 생산에 갈 준비가되면 여분의 층을 꺼내지 않고 수면을 제거 할 필요조차 없습니다.

플로피 드라이브는 어떻습니까? USB 정도를 통해 간단히 연결할 수있는 외부 제품이 있어야합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top