2017-11-17 21 views
2

난 항상 예를 ​​들어 크기가 합계 인스턴스에 대한 프로젝트 또는 전체 웹 사이트를 반응 할 때 3백50~4백50메가바이트2-3기가바이트 비디오 파일보다 전송하는 이상 시간이 소요 말까지 나타났습니다 또는 .zip/.rar/.iso와 같이 하나의 파일에 번들로 제공되는 파일 수에 제한이 없습니다.

일부으로 SC : - : 영화를 전송 Transferring some react projects

: - - 나는 웹을 흐르고 있지만, 불행히도 관련 게시물/답변을 찾을 수 없습니다 Transferring a movie거대한 파일보다 작은 여러 파일의 데이터 전송 속도가 느린 이유는 무엇입니까?

일부를 전송

프로젝트 반응.
어쩌면 내가 ... 필요한 키워드를 사용하여 가능하면

을 나도 몰라하지 않았다, 자세한 설명이 정말 도움이 될 것입니다 :)
도 멋지다 OS의 개념으로 설명 다이빙하는 경우. 이유를 알고 싶습니다.

+0

디스크 조각화 때문입니다. 큰 파일은 메모리의 연속 된 청크에 저장됩니다. 작은 것은 HDD/SSD의 다른 위치에 저장되므로 CPU는 먼저 주소를 가져와야 만 전송할 수 있습니다. – VTodorov

답변

0

https://serverfault.com/a/9743에 따르면, 여러 파일을 쓰는 것 역시 색인 생성 테이블에 색인을 생성해야합니다. 또한 동일한 파일 이름이 존재하는지 확인합니다. 시간이 필요해!

+0

하지만 코드 자체에서는 사실 인 작은 파일을 변경하지 않는 한 자체 작업을 압축하는 데 많은 시간이 걸립니다. –

1

실제로이 뒤에 계속 많은 '장면'당신은 파일을 전송할 때 : 원본 파일

  • 운영 체제가 실제로
  • 을 이해하고 어떤 경로 문자열을지도 열기

    • 보안이 확인되었습니다 (FILE_ACCESS) : 파일을 읽고 삭제할 수 있습니까?
    • 더 많은 보안이 확인되었습니다 (FILE_SHARE) : 허용 되었습니까? 다른 사람이 파일을 사용하고 있습니까?
      • 운영 체제가 실제로 이해하고 어떤 경로 문자열을지도 새 파일을 생성
    • 다시 보안 (FILE_ACCESS) : 당신은 여기에 파일을 만들 수 있습니까? 그리고 위의 디렉토리 위와 그 위 ...
    • 새 파일을 삭제/읽기/쓰기의 실제 새 파일을 만들고 기본 파일을 설정 파일 시스템 조회 테이블
    • 에 넣어
    • 허용 안 다른 속성 (FILE_SHARE)
  • 실제 전송
    • 쓰기를 4K 바이트를 4K 바이트를 읽고,
    • 을 반복 새 파일
    • 의3210
  • 원본 파일이 제거
  • 설정 마지막으로 수정 한 날짜는 새 파일은, 내가 이미 여기 단계의 톤을 누락 확신

을 폐쇄 하지만 저는 실제 전송 전후에 많은 것들이 진행되고 있음을 설명하기 위해 왔습니다. 파일이 비어 있더라도 (0 바이트) 우리는 여전히 모든 것을해야합니다. 분열과 같은 이미 주어진 답변과는 별개입니다.

+0

위키로 만들었습니다. 실제로 진행되고있는 작업의 목록을 완성 할 수 있습니다. – Caramiriel