Question

I can download a file from S3 using either of the following methods.

s3cmd get s3://bucket_name/DB/company_data/abc.txt

wget http://bucket_name.s3.amazonaws.com/DB/company_data/abc.txt

My question is :

1) Which one is faster? 
2) Which one is cheaper?
Was it helpful?

Solution

According to some past research, the s3cmd GET operation is about 5 times slower than wget. Keep in mind that s3cmd is a utility designed to retrieve files from your S3 filesystem. It doesn't use the HTTP protocol but instead uses the s3 protocol.

The only time I can see using the s3cmd utility is for cases where you're retrieving files you cannot otherwise retrieve using standard HTTP GET methods, like when the files on S3 don't have read permissions or you're doing maintenance on your S3 buckets.

Based on your question, I'm assuming you're trying to use this utility in a production system; however, it doesn't appear that was the intention or goals of the utility.

For more details, check out performance testing spreadsheet.

As far as costs goes, I'm not an expert on Amazon pricing, but I believe they bill based on actual data transferred, so a 1GB file would cost the same regardless of whether you downloaded it quickly or slowly. It's like the question where someone asks you what is heavier, ten pounds of bricks or ten pounds of feathers.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top