네트워크 파일 복사 속도가 왜 물결이됩니까?


17

Windows 10으로 업그레이드하면 파일을 복사 할 때이 멋진 그래프를 얻었습니다.

하나의 큰 파일을 복사 할 때 속도는 항상 합리적으로 일정한 파형을 취합니다. 그 원인은 무엇입니까?

연결은

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

파일은 SMB를 통해 복사 중입니다.이 그래프는 약 1 분 동안 이러한 복사 중 하나를 보여줍니다.

Windows 10의 복사 속도 그래프

여기에는 문제가 없습니다. 일이 어떻게 작동하는지 이해하고 싶습니다.


1
ReadyNAS 디스크 구성에 대한 자세한 내용이 도움이 될 것입니다. 세 개의 드라이브에서 RAID 5를 사용하고 있습니까? 각 드라이브의 쓰기 속도는 얼마입니까? 각 드라이브의 버퍼는 무엇이며 ReadyNAS가 사용하는 캐시가 있습니까? 전송 속도가 다른지 확인하기 위해 TeraCopy와 같은 다른 도구를 사용해 보셨습니까? 그렇지 않은 경우, 특히 쓰기 속도가 좋지 않은 경우 (예 : Seagate Barracuda) 디스크 캐시 쓰기에 병목 현상이 발생할 수 있습니다.
일요일

NAS를 사용 중일 수있는 다른 모든 프로세스를 주기적으로 닫았습니까?
Arjan

답변:


6

짧은 답변 : 쓰기 캐시

TL; DR : 첫째, 하나의 큰 파일을 복사 할 때 작은 파일에 비해 오버 헤드가 훨씬 적습니다. 이는 PC와 NAS가 파일을 찾는 데 많은 시간을 낭비하지 않고 파일 테이블과 파일 시스템 메타 데이터를 업데이트하지 않음을 의미합니다. 또한 처리량이 훨씬 높아서 설정에서 일부 대역폭 병목 현상이 나타날 수 있습니다.

대역폭 그래프의 피크와 밸리는 상당히 일정한 간격으로 발생하는 것으로 보이며 하나의 큰 파일 (최대 대역폭, 최소 오버 헤드)을 복사한다는 사실을 감안할 때 버퍼링 / 캐싱의 효과가 있다고합니다. .

디스크에 쓸 수있는 것보다 빠른 속도로 NAS에 데이터를 보내는 것 같습니다. 쓰기 캐시 / 버퍼 덕분에 여전히 더 빠른 속도 (그래프의 최고점)로 데이터를 수신 할 수 있지만 디스크에 커밋하지 않으면 데이터를 계속 수신 할 수 없습니다.

결국 버퍼가 가득 차서 디스크에 기록되어야합니다. 한편 NAS는 데이터를 저장할 위치가 없기 때문에 (버퍼가 꽉 차고 디스크가 느리므로) 데이터를 이전과 같이 빨리받을 수 없습니다. 그래프의 계곡을 얻을 수있는 곳입니다.

Windows가 처리량 그래프를 부드럽게하는 것 같습니다. 보다 정확한 그래프 (예 : 성능 모니터)를 사용하면 간격 및 전송 된 바이트를 분석하여 실제로 쓰기 버퍼 크기를 추정 할 수 있습니다.

피크와 밸리가 완벽하게 균일 한 간격으로 발생하지 않는 이유는 PC, NAS 또는 둘 다 파일을 복사하는 동안 "다른 것"을 수행하기 때문일 수 있습니다.


버퍼가 가득 차면 갑작스런 스파이크 (약 0까지)가있는 수평선이 생성되지 않습니까?
Arjan

파일 복사 그래프가 시각적으로 호소력을 발휘하기 위해 부드럽게 나타납니다. PerfMon은 훨씬 더 정확한 그래프를 생성 할 것입니다. 또한 디스크에 플러시하는 데 사용되는 알고리즘에 따라 달라집니다. 예를 들어 모든 데이터가 디스크에 기록 될 때까지 데이터 수신을 중지하고 데이터를 더 느린 속도로 수신하는 것을 제한하여 새 데이터를 수신하는 것보다 디스크에 더 빨리 쓸 수 있습니다.
abstrask

17

더 많은 조사를 거치지 않고 정식으로 대답하기는 어렵습니다. 시간 척도 및 프로토콜로 질문을 업데이트 해 주셔서 감사합니다.

정상적인 TCP "가리비"일 수 있습니다. TCP는 패킷 손실이 발생할 때까지 최대한 빠르게 진행됩니다. 그런 다음 약간 뒤로 물러서서 다시 올라갑니다. 그래서 그것은 "천장에 머리를 부딪칩니다". 이것이 혼잡을 악화시키지 않고 사용 가능한 대역폭을 최대화하는 방법입니다. 나는 보통 TCP 가리비를 TCPTrace 그래프에서 봅니다.이 그래프와 약간 다릅니다. 이런 종류의 그래프에서는 좀 더 톱니 모양으로 보일 것으로 예상되지만이 그래프에서는 약간의 스무딩이 진행될 수 있습니다. 그리고 제가 생각하기에 TCP 가리비는이 그래프가 보여주는 것보다 훨씬 작은 시간 척도에 있습니다.

또한 원격 파일 시스템 프로토콜 (SMB)이 파일을 한 번에 한 청크를 읽고 딥은 한 청크 읽기가 완료되고 다음 청크가 요청되는 위치 일 수 있습니다.


세부 정보가 부족하여 죄송합니다. 사람들이 알아야 할 내용이 확실하지 않았습니다. 나는 smb를 사용하고 있으며 그 그래프는 약 1 분의 기간을 커버합니다
Gricey

4
@Gricey : 댓글을 달지 마세요 : 문제를 해결하세요 !!
Monica와의 가벼움 경주

-1 불필요한 하찮은 일에 속 태우고 대
user541686

@LightnessRacesinOrbit 고정
Gricey

1
@Gricey 세부 사항에 대해 너무 까다로워서 죄송합니다. 사람들이 어떤 세부 정보를 필요로하는지 모른다면 많은 자료를 문서화하기가 어렵다는 정서를 이해합니다. 도움을주는 사람들이 좌절하지 않도록 충분히 문서화하는 것과 중요하지 않은 것을 문서화하는 데 시간을 낭비하고 있다는 느낌 사이의 균형이 맞지 않습니다.
Spiff

0

Microsoft 가 Windows 8 의 진행률 표시 줄 에이 기능을 도입 했다고 생각 합니다.

왼쪽에서 오른쪽으로 보여줍니다 비율의 진행상하 운동 프로그램을 MB의 전송 속도 / S .

전송 속도는 미디어 속도 (BUS 또는 네트워크), 파일 수 및 크기, 파일 시스템 및 리소스 가용성 등에 따라 결정됩니다.

또한 파일 전송 중에 많은 메타 데이터 읽기 / 쓰기가 발생합니다.

이 메타 데이터 읽기 / 쓰기 오버 헤드가 줄어들고 다른 리소스가 같은 속도로 사용됨에 따라 합리적으로 일관된 물결이 나타납니다. 간혹 패킷 손실, 다음 청크 읽기, 리소스 폴링 등의 이벤트가 발생할 수 있습니다.

더 명확하게 여기에 더 읽을 거리가 있습니다


3
이것은 실제로 질문에 대답하지 않습니다.
Monica와의 가벼움 경주
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.