약 7MB의 파일이 로컬 공유에 몇 초 안에 저장됩니다. 그러나 해당 파일을 네트워크 위치에 저장하면 분이됩니다. 나는 이것을 가속화하기 위해 내가 무엇을 할 수 있는지 궁금해. 로컬 시스템의 임시 파일네트워크에 파일 저장
- 저장 데이터, 다음 네트워크 경로에 걸쳐 임시 파일을 복사 : 여기에 내 현재 옵션입니다. 나는 이것이 가장 쉽고 가장 큰 돈이기 때문에 아마도 이것을 할 것이다.
SetFilePointerEx()
및SetEndOfFile()
을 사용하십시오. 나는 이것이이 질문에 대한 대답에 기초하여 유용하다고 생각했다 : Creating big file on Windows- 버퍼는이라고 쓴다. 버퍼를 가득 채울 때 데이터를 직접 캐시하고 플러시 할 수 있지만 이미 OS에서 수행 한 캐싱과 중복되지는 않습니까?
# 1이 가장 좋은 옵션처럼 보이지만 네트워크 경로를 절약하는 데 더 빠른 방법에 대한 조언이 있다면 궁금합니다.
편집 : 네트워크가 기가비트 LAN에 연결되어 있으므로 속도가 문제가되지 않습니다. 파일을 네트워크 경로에 복사하는 데는 약 1 초가 걸립니다. 우리는 더 작은 덩어리의 데이터에서 WriteFile()을 호출하는 것으로 나타 났으므로 아마도 더 큰 덩어리를 작성하기 위해 더 높은 수준의 코드를 최적화하는 것이 도움이 될 것입니다. 그러나 속도 차이는 여전히 중요하므로 여전히 질문하는 것이 가치있는 질문입니다 .
파일을 복사하는 데 1 초가 걸리면 CopyFile 또는 CopyFileEx 함수를 사용하거나 copy 명령을 호출해야합니다. – ChrisW