Tôi đang đặt một số lượng lớn các mục nhỏ vào S3 bằng cách sử dụng API REST. Trọng tải trung bình là ~ 10 byte.Amazon S3: yêu cầu PUT tối đa mỗi giây
Các mục được tất cả đi vào một xô, và đã ngẫu nhiên tên (ví dụ: không có thứ tự từ điển)
Từ EC2, tôi đã được quản lý với tốc độ 4-500 mỗi giây. Tôi đang sử dụng một thread thread của 96 chủ đề, với 64 kết nối TCP.
Tôi thỉnh thoảng nhận được HTTP 500, nhưng chưa nhận được 503 - có nghĩa là để cho biết rằng khách hàng làm chậm tốc độ yêu cầu.
Có ai biết những gì tôi thực tế có thể đạt được không? Tôi biết đường ống giữa EC2 và S3 có thể quản lý một thông lượng 20 MB/s, vì vậy tôi hy vọng sẽ làm tốt hơn một chút.
Tôi nhận thấy rằng phần lớn dữ liệu được truyền là thông tin HTTP. Tôi không kiểm soát được giao thức; S3 chỉ là REST và HTTP. Thật không may là không có chức năng batch cho S3 và do tính chất của ứng dụng của tôi; việc đóng gói các khối dữ liệu nhỏ thành dữ liệu lớn là không khả thi. – user756079
Có lý do nào khiến bạn không đưa những thứ này vào SimpleDB, điều này có hỗ trợ các hoạt động đặt hàng loạt không? Họ có cần truy cập trực tiếp qua HTTP không? – Daan
@ user756079 - Tôi biết bạn không có quyền kiểm soát giao thức truyền tải, nhưng bạn có quyền kiểm soát những gì bạn gửi qua kênh đó. Vì có một yếu tố bạn không thể thay đổi, bạn phải làm việc với những gì bạn có thể có nghĩa là xem xét lại nội dung (và kích thước) của tải trọng của bạn. – msw