Tại sao tải lên S3 quá chậm?


12

Tôi đang sử dụng s3cmdđể tải lên S3:

# s3cmd put 1gb.bin s3://my-bucket/1gb.bin
1gb.bin -> s3://my-bucket/1gb.bin  [1 of 1]
  366706688 of 1073741824    34% in  371s   963.22 kB/s

Tôi đang tải lên từ Linode, có giới hạn băng thông đi là 50 Mb / giây theo hỗ trợ (khoảng 6 MB / s).

Tại sao tôi nhận được tốc độ tải lên chậm như vậy lên S3 và làm cách nào để cải thiện chúng?


Cập nhật:

Tải cùng một tệp qua SCP lên một phiên bản m1.medium EC2 (SCP từ Linode của tôi vào ổ EBS của cá thể) cho khoảng 44 Mb / giây theo iftop(mọi thao tác nén được thực hiện bởi mật mã không phải là một yếu tố).


Traceroute: Đây là một traceroute đến máy chủ mà nó đang tải lên (theo tcpdump).

# traceroute s3-1-w.amazonaws.com.
truy tìm đến s3-1-w.amazonaws.com. (72,21.194.32), gói tối đa 30 bước, 60 byte
 1 207,99.1,13 (207,99.1,13) 0,635 ms 0,743 ms 0,723 ms
 2 207,99,53,41 (207,99,53,41) 0,683 ms 0,865 ms 0,915 ms
 3 vlan801.tbr1.mmu.nac.net (209.123.10.9) 0.397 ms 0.541 ms 0.527 ms
 4 0.e1-1.tbr1.tl9.nac.net (209.123.10.102) 1.400 ms 1.481 ms 1.508 ms
 5 0.gi-0-0-0.pr1.tl9.nac.net (209.123.11.62) 1.602 ms 1.677 ms 1.699 ms
 6 Equinix02-iad2.amazon.com (206.223.115,35) 9.393 ms 8,925 ms 8,900 ms
 7 72,21.220,41 (72,21.220,41) 32,610 ms 9,812 ms 9,789 ms
 8 72,21.222.141 (72,21.222.141) 9,519 ms 9,439 ms 9,43 ms
 9 72,21.218.3 (72,21.218.3) 10.245 ms 10.202 ms 10.154 ms
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

Độ trễ có vẻ hợp lý, ít nhất là cho đến khi máy chủ ngừng đáp ứng yêu cầu ping.


Bắt đầu xử lý sự cố. Việc sử dụng CPU của bạn trông như thế nào trong khi bạn đang tải lên? Một traceroutecái nhìn như thế nào? Hàng đợi gửi ở phía bạn của kết nối TCP gần đầy hay gần như trống? Với một vài thử nghiệm rất đơn giản, bạn có thể nhanh chóng thu hẹp vấn đề.
David Schwartz

Câu trả lời:


9

Chỉ vì bạn có thể lên tới 50mbps không có nghĩa là bạn sẽ luôn nhận được 50mbps; Đường dẫn mạng đến S3 cũng như độ trễ cũng rất quan trọng.

Nếu bạn có thể sử dụng tải lên nhiều phần, bạn sẽ có thể chia một tệp thành nhiều phần và tải lên bằng nhiều luồng, có thể làm tăng tốc độ tải lên.


1
Tải cùng một tệp lên một phiên bản m1.medium EC2 thông qua SCP từ Linode của tôi chạy với tốc độ khoảng 44 Mb / giây (theo iftopđó, do đó việc nén không thành vấn đề), gần với giới hạn băng thông đi 50 Mb / giây. Tải lên S3 nhanh khoảng 1/5. s3cmdHỗ trợ tải lên đa phần mới nhất , nhưng không tải lên đồng thời, mà thay vào đó liên tiếp. Có tiện ích nào tốt hơn để tải lên S3 không?
Tom Marthenal

Tôi đã thêm số liệu thống kê tốc độ từ SCP (ví dụ Linode của tôi -> EC2) vào câu hỏi của tôi.
Tom Marthenal

Bạn đã thử sử dụng các công cụ khác tương tự như s3cmd để thực hiện các bài kiểm tra chưa? Điều này là để xác định nó không thực sự là s3cmd chậm. Ngoài ra, trong trường hợp s3cmd bằng cách nào đó tải lên thông qua HTTPS, bạn có thể muốn thử chuyển nó sang HTTP. Một ý tưởng khác là bản thân S3 chỉ xảy ra chậm hơn để tải lên, vì dường như bạn không gặp vấn đề gì với EC2.
gekkz

4
Hãy thử s3multiput.
EEAA

11

Chỉ trong trường hợp bất cứ ai vấp phải điều này ....

Tôi đã gặp một vấn đề trong đó rất chậm khi tải lên từ một ví dụ ec2 vào một thùng s3, hóa ra nó thực sự đơn giản, khu vực của nhóm! Tôi đã sử dụng các trường hợp ec2 ở phía bắc california, khi thùng được tạo ra theo tiêu chuẩn của chúng tôi, nó rất chậm để chuyển, với cái xô được đặt ở phía bắc california, nó nhanh hơn rất nhiều.


1

Tôi đã thấy nhiều chủ đề trong một diễn đàn về việc tải chậm lên S3 bằng nhiều ứng dụng khách khác nhau, chẳng hạn như các công cụ dòng lệnh miễn phí (được viết bằng Python, btw) và các mục thương mại.

Mặc dù tôi không có bằng chứng cứng cho bạn, việc chuyển đổi ứng dụng khách S3 (ví dụ: Cloud Berry Explorer) có thể giải quyết vấn đề của bạn. Thử nó! :)


3
Trên một máy chủ không đầu? Đừng nghĩ vậy.
EEAA

Hãy để anh ấy / cô ấy thử một khách hàng khác trước khi đánh giá. Có s3cp, ví dụ.
Valentin ngày

+1. Trên EC2, chỉ cần chuyển từ FileZilla sang CuteFTP đã thực hiện một cải tiến hoàn hảo x30.
Calvin1602
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.