MASV는 고객의 피드백을 소중히 여기며 최대한 신속하게 조치를 취하기 위해 노력합니다. 때때로 우리는 제품을 개선하는 방법에 대한 긍정적인 아이디어와 피드백을 받기도 합니다. 다른 경우에는 피드백이 매우 중요하며 종종 더 생산적입니다.
이것이 바로 우리가 알아낸 방법입니다. 이미지 시퀀스 성능을 개선하는 방법 (일명 작은 파일의 대량 배치).
우리는 세계에서 가장 큰 파일을 옮기는 것으로 가장 잘 알려져 있지만, 고객들은 한 번에 수천(때로는 수백만) 개의 작은 파일을 전송하기도 합니다. 이미지 시퀀스, 대용량 코드베이스, 라이다 스캔 등의 작업을 해보셨다면 무슨 말인지 잘 아실 겁니다.
이 특정 사용 사례에서 사용자들은 이미지 시퀀스를 전송할 때 속도가 느려지는 것을 발견했습니다. 그래서 저희는 해결책을 찾기 시작했습니다. 그 결과 이제 최대 35배 빨라진 MASV 를 사용하면 많은 수의 작은 파일을 전송할 수 있습니다.
방법은 다음과 같습니다.
목차
이미지 시퀀스란 무엇이며 어떻게 사용되나요?
이미지 시퀀스는 개별 이미지 파일의 모음입니다.에서 각 이미지 파일은 비디오의 단일 프레임입니다. 애니메이션과 같은 미디어 및 영화 제작에 사용됩니다, VFX 라운드 트립및 색상 그레이딩.
비디오를 이미지 시퀀스로 분할하면 각 비디오 프레임에 대한 매우 상세한 정보를 제공할 수 있다는 이점이 있습니다. 이를 통해 컬러 그레이딩 팀은 정확하고 효율적으로 작업을 수행할 수 있습니다. 특수 효과 팀은 보다 정교한 장면 합성을 수행할 수 있습니다.
MASV는 이미지 시퀀스에 문제가 없는 것으로 밝혀졌습니다. 특히.
이는 형식이나 용도에 관계없이 많은 수의 작은 파일을 전송할 때 문제가 되었습니다.
고객들은 어떤 문제를 겪었나요?
이미지 시퀀스를 위한 느린 전송
데스크톱 앱 버전 2.7.0 이하를 사용하는 고객들은 이미지 시퀀스의 전송 속도가 느리다는 불만을 제기했습니다:
- 10분 분량의 4K 동영상은 약 200GB입니다. 1Gbps 네트워크 서비스에서는 다운로드하는 데 20~30분이 소요될 수 있습니다.
- 동등한 이미지 시퀀스는 18,000개의 이미지 파일일 수 있습니다. 동일한 조건에서 다운로드하는 데 4.5시간(또는 그 이상)이 걸렸을 수 있습니다.
더 심각한 문제는 고객이 다른 방식으로 시간을 낭비했다는 것입니다. 한 고객은 약 50만 개의 작은 파일을 전송하려고 했습니다. 데스크톱 앱은 이를 처리할 수 없었습니다. 실제로 전송 요청 처리를 담당하는 컴포넌트가 다운되기도 했습니다.
다행히 이번 충돌이 다른 송금이나 다른 고객에게는 영향을 미치지 않았다는 점이 다행입니다. MASV는 탄력적으로 설계되어 한 번의 송금 실패가 다른 송금에 영향을 미치지 않습니다.
지원팀은 수동으로 이체를 더 작은 이체로 분리하고, 이체 내역을 지우고, 데스크톱 앱의 새로운 사용자 지정 빌드를 시도하는 방식으로 이 문제를 해결했습니다. 한편 엔지니어링 팀에서는 이 문제를 조사하고 수정하기 위해 노력했습니다.
그렇다면 수천 개의 작은 파일 중 무엇이 문제를 일으킨 것일까요?
문제의 근본 원인 찾기
먼저 1Gbps 네트워크에 연결된 2.7.0 이전 버전의 MASV 데스크톱 앱을 벤치마킹했습니다.
이러한 방법으로 10GB를 전송하는 데 걸리는 시간을 측정했습니다:
- 10GB 파일 1개
- 5MB 파일 2,000개
가장 극적인 결과는 다음과 같습니다:
몇 가지 분명한 점이 있습니다:
- 단일 10GB 파일의 경우 다운로드가 업로드만큼 빠릅니다. 이는 표준입니다.
- 5MB 파일 2000개의 경우 업로드는 5배, 다운로드는 35배 느려집니다!
이슈 #1: 읽기 작업 지연
이러한 속도 저하의 원인 중 하나는 컴퓨터에서 데스크톱 앱 스토어가 다운로드되는 방식 때문이었습니다.
데스크톱 앱은 MASV 클라우드에 파일을 업로드할 때 파일을 한 번만 읽습니다. MASV 클라우드에서 다운로드할 때, 데스크톱 앱은 파일을 저장소에 쓰지만 다음과 같은 작업도 수행해야 합니다. 읽기 를 사용하여 전송된 파일의 무결성을 확인할 수 있습니다.
저희 팀은 의도치 않게 많은 작은 파일의 전송 속도가 느려지는 의도적인 설계 결정을 발견했습니다. 다운로드하는 동안 읽는 데 소요되는 시간을 줄이기 위해 MASV 데스크톱 앱 읽기 작업 지연를 사용하여 쓰기 작업에 우선순위를 부여합니다. 때때로 이 지연 시간은 400ms, 거의 0.5초에 달했습니다..
재미있는 점은 MASV 데스크톱 앱에서 더 이상 이러한 지연이 필요하지 않다는 것입니다. 데스크톱 앱이 다운로드한 파일을 확인하는 방식을 변경하면서 이 기능은 더 이상 필요하지 않게 되었습니다. 이 개선으로 인해 전체 전송 시간의 극히 일부에 불과한 몇 개의 대용량 파일에서는 지연이 거의 눈에 띄지 않게 되었습니다. 하지만 위의 그래프에서 볼 수 있듯이, 이러한 지연은 많은 작은 파일에서 크게 증가했습니다.
문제 #2: 느린 전송 기록
데스크톱 앱에는 전송 내역이 있어 사용자가 주고받는 각 파일을 추적하는 데 사용됩니다. 이 정보는 데이터베이스에 보관됩니다. 데이터베이스는 수십, 수백 개의 파일을 추적하는 데 느려 보이지 않았습니다. 하지만 이미지 시퀀스에는 수십만 개 이상의 파일이 포함될 수 있습니다.
이 데이터베이스의 성능에 대한 전체 감사를 실행했습니다. 여기에는 이미지 시퀀스에서는 드물지 않은 30만 개의 파일 전송 내역 시뮬레이션이 포함되었습니다. 데이터베이스의 느린 성능은 수천 개의 파일을 전송할 때만 분명해졌습니다.
문제 #3: 느린 요청 처리
또한 데스크톱 앱에는 컴퓨터와 MASV 클라우드 서버 간의 파일 요청을 처리하는 내부 구성 요소가 있습니다. 이 구성 요소는 비교적 적은 수의 파일을 전송할 때는 눈에 띄게 느려 보이지 않았습니다. 하지만 수천 개의 파일을 전송할 때는 성능 저하가 분명했습니다.
문제 해결 방법
엔지니어링 팀은 MASV의 속도를 저하시키는 원인을 명확히 파악한 후 이를 개선하기 위해 노력했습니다. 이러한 개선 사항은 버전 2.7.5 이상에서 확인할 수 있습니다:
개선 #1: 읽기 지연 제거
엔지니어링 팀은 더 이상 사용되지 않는 읽기 지연을 제거하게 되어 기뻤습니다. 소프트웨어 엔지니어는 코드를 간소화하고 더 빠르게 만들 수 있는 날을 좋은 날로 여깁니다.
개선 #2: 파일 기록 및 요청 처리 재구성
저희 팀은 파일 기록 데이터베이스의 성능을 조정하고 요청 처리 구성 요소에 더 많은 용량을 추가했습니다. 이제 둘 다 수십만 개의 파일 등을 쉽게 처리할 수 있습니다.
감사 결과, 트위터 엔지니어들은 속도와 안정성을 더욱 향상시키기 위해 몇 가지 사소한 개선 사항을 추가할 수 있었습니다.
보너스 개선: 파일 핸들 재사용
운영 체제가 파일을 열고 닫을 때까지 기다리는 데는 약간의 시간이 걸립니다. 수천 개의 파일을 처리할 때는 그 시간이 더 늘어납니다. 이제 MASV 데스크톱 앱은 가능한 경우 파일 핸들을 재사용합니다.
결과: 약속에 부응하는 삶
유니티 팀은 이미지 시퀀스에 영향을 미치는 문제를 해결하는 데 성공했습니다.. 결과에 만족한다고 해도 과언이 아닙니다.
아래에서 MASV 데스크톱 앱 2.7.5의 결과를 확인하세요. 업로드 속도가 여전히 빠르다는 것을 알 수 있습니다. 다운로드도 거의 비슷하게 빠릅니다, 약속을 지킬 수 있을 만큼 확실히 빠릅니다..
놀라운 속도의 이미지 시퀀스 전송
저희는 고객의 요청을 진지하게 받아들이고 최대한 신속하게 조치를 취합니다. 고객이 이미지 시퀀스와 관련하여 느린 전송에 대해 불만을 제기했을 때 엔지니어링 및 지원 팀은 해결책을 찾기 위해 열심히 노력했습니다.
저희는 다음과 같이 확신합니다. MASV는 다른 파일과 거의 동일한 속도로 이미지 시퀀스를 전송합니다.크든 작든.
이미지 시퀀스로 작업하거나 MASV로 이미지 시퀀스 전송을 시도했지만 만족스럽지 않은 경우 최신 버전의 데스크톱 앱. 앞으로도 안정적이고 안전하게 파일을 전송할 수 있는 가장 쉽고 빠른 방법을 제공하고자 합니다.
MASV를 처음 사용하시나요?
미디어와 대용량 그래픽 자산을 위한 가장 빠른 파일 전송을 경험해 보세요. 지금 바로 가입하세요.