어제 나는 how do disable disk cache in c# invoke win32 CreateFile api with FILE_FLAG_NO_BUFFERING에서 질문을했다. 내 성능 테스트 쇼에서작은 파일을 여러 개 읽는 속도와 성능을 향상시키는 방법
(쓰기 및 테스트, 1000 개 파일 및 전체 크기 220M를 읽기)의 FILE_FLAG_NO_BUFFERING
난에 수 FILE_FLAG_SEQUENTIAL_SCAN
에 변화 FILE_FLAG_NO_BUFFERING
시도 이후 나, .NET 기본 디스크 캐시보다 성능과 낮은을 향상시킬 수 없습니다 .net 기본 디스크 캐시에 도달하고 더 빠릅니다.
전에 mongodb의 gridfs 기능을 사용해보십시오. Windows 파일 시스템을 바꾸고, 좋지 않습니다 (분산 기능을 사용하지 않아도됩니다.).
내 제품의 경우 서버는 TCP/IP를 통해 초당 많은 작은 파일 (60-100k)을 얻을 수 있으며 디스크에 저장해야하며 세 번째 서비스는이 파일을 한 번 읽습니다 (단지 한 번 읽음). 및 프로세스) .if 내가 비동기 I/O를 사용할지 여부를 도울 수 있는지 여부를 최고의 속도와 최고의 낮은 CPU주기를 얻을 수 있습니다.? 누군가 제안을 할 수 있습니까? 아니면 여전히 FileStream 클래스를 사용할 수 있습니까?
모든 파일을 하나 개의 큰 파일 이상으로 작성하고 그것을 읽고 1 캔 내 demand.that를 달성할지 여부를
메모리 매핑 된 파일 갱신?
buggest 상당한 개선의
한 번만 처리하면 이러한 파일을 디스크에 기록해야합니까? –
그냥 질문에 가서 anwes 옆에있는 "오른쪽 화살표"를 확인하여 작업을 달성하는 데 도움이 된 답변을 표시하십시오. :-) –
@ Pankaj Upadhyay, 고맙습니다, 해결했습니다 .i는 메모 할 것입니다. – springchun