이기현
182
2018-12-13 09:34:38
3
302

비동기 병렬 프로그래밍으로 대용량 파일 전송


local -> Server로의 파일전송이 프로그램의 목적입니다.


500MB mp4 파일을 전송하는데 생각보다 매우 느리더군요 


그래서 이 파일을 10개로 쪼개 10개의 Task가 작업을 병렬로 하도록 하는 아이디어를 내봤습니다.


하지만 파일 전송은 회선이라는 물리적인 제약이 걸려있어 속도가 차이나게 빨라지지 않을 것 이 라는 생각도 들더군요 선배님들 생각은 어떠신가요?


빨라질까요? 차이 없을까요?

0
0
  • 답변 3

  • basscraft
    2k
    2018-12-13 09:44:19 작성 2018-12-13 09:44:31 수정됨

    당연히 빨라지겠죠...

    다만 10개로 쪼갠다고 10배로 빨라지지는 않을 것 같은데... 확실히 차이는 있을껍니다.

    그리고 어떤 기준으로 자를 건지... 받아서 잘 재조립 할 수 있도록 파일의 전체 사이즈, 조각의 갯 수, 순서만 잘 정의 한다면 아주 좋은 방법이 될 수도 있을 것 같은데요.


    0
  • 이기현
    182
    2018-12-13 10:12:23

    답변감사합니다~

    0
  • daewon
    419
    2018-12-13 15:09:24

    문제가 어느 부분인지부터 정확히 파악해 보세요.

    회선 대역을 다 사용하는데 느린거라면 어떤 방법을 써도 그 이상 빨라질 수 없습니다.

    파일을 N개로 나눠서 처리속도가 빨라지려면 파일 전송을 처리하는 서버도 N개로 나눠서 들어오는 요청을 처리할 수 있어야 합니다. (N개 파일 -> 1개로 머지) 

    따라서 단순히 테스크를 나눈다고 속도가 빨라지지는 않습니다.

    정확히 느려지는 부분이 어떤 곳인지부터 확인해 보세요.



    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.