2013-08-18 1 views
2

S3에서 데이터를 복제하려고합니다. 우리는 합리적으로 큰 수십억 개의 얼룩 (1GB ~ 100GB 범위의 많은 것들)에 대해 이야기하고 있습니다. 이 작업은 미국 표준의 S3 얼룩에 대해 미국 동부의 기계에서 수행됩니다.gsutil cp -Rn s3 : // foo gs : // bar가 느리고 egret보다 많이 들어갑니다.

gsutil 3.34는 몇 시간 동안 실행 한 후에도 이탈보다 훨씬 더 많이 걸리는 것 같습니다. 몇 가지 옵션을 조정하려고했지만 어디에도 가지 않았습니다.

측정 예 : 78387.82KB/s에서 3154.36KB/s. 나는 2x 비율을 얻는다고해도 좋지만 10x +는 정말로 옳다고 생각하지 않습니다.

어떤 일이 벌어 질지 궁금하십니까?

답변

0

업로드 된 것보다 10 배 더 많은 다운로드가 발생한다는 것에 이상이 있습니다. 내 말은, 데이터가 어딘가에 있어야한다는 거지, 그렇지?

일부 잠재적 인 제안 :

  • 그것은 대역폭 문제가 될 수 있을까요? gsutil cp는 S3에서 로컬 컴퓨터로 파일을 복사 한 다음 거기에서 GCS까지 복사합니다. ISP가 업로드 속도를 제한하면 그 원인이 될 수 있습니다. 아마도 GCS가 데이터를 잘 다운로드하고 있지만 다시 업로드하는 것을 제한하고 있습니다.

  • "-m"플래그를 사용해 보셨습니까? gsutil은 기본적으로 한 번에 하나의 파일을 복사합니다. -m을 사용하면 많은 파일을 병렬로 업로드 할 수 있으므로 속도가 크게 향상 될 수 있습니다. 잘

+1

업로드 할 때 파일이 gzip으로 압축 될 수 있습니다. – jterrace

+0

아하! 그것은 그럴 수 있습니다. –

+0

처음에는 파일들이 GNU gzip에 의해 gzip으로 압축 된 것을 제외하고 ... –

2

는 예열 시간이 훨씬 더 내가 기대했던 것보다 밝혀졌습니다. 어떤 작업이 오랫동안 너무 많은 침입을하는지 확실하지 않습니다. 나는 많은 blob 목록 (프로세스 당 하나 또는 그와 비슷한 것)과 같은 것을 의심 할 것입니다.

아래의 그래프에서 12시 경에 동기화를 시작했습니다.

Graph from AWS

(내가 처음 10-20시간에서 점진적인 개선을위한 눈을하겠습니다 톤의 송신보다 더 많은 유입을 시작) 난 그냥 gsutil -m cp -Rn s3://foo gs://bar를 다시 시작 시도하고 나는 같은 I/O 패턴을 관찰 .

iostat

는 (거의 KB/s의) 로그인하여 설명 할 수없는 쓰기 활동을 보여주지 않기 때문에 디스크에 버퍼링 아니에요.

+1

작은 파일이 많습니까? 나는 작은 파일이 많은 양의 양동이를 나열하는 입구 트래픽을 발생시킬 것으로 기대한다. 출구의 적은 양이 비교가된다. – jterrace

+0

음, 그렇다. 's3cmd ls -r s3 : // foo |를 사용하여 파일 크기에 대한 통계 awk '{print $ 3;}'| statistik' ('baze' 보석에서) : https://gist.github.com/pcarrier/75b2a24115fe1729973f –

+1

's3cmd ls -r'이 어떻게 덜 실행되는지를 생각해 보면 시간과 시간이 느릴 것이라고는 기대하지 않을 것입니다 20 초 이상 ... –

관련 문제