We recommend two methods for testing AWS S3 upload speeds for BYOS buckets. For the most accurate results, use large file sizes, run the test multiple times, and perform the test during business hours to take AWS server load into account.
Browser
To test AWS upload speed using a browser:
- Navigate to AWS:
https://aws.amazon.com/ - Login using the credentials for your BYOS storage account.
- If you would like to use a separate bucket for speed testing, click Create Bucket and create a bucket in the same region as the one used in your Morro system.
- Navigate to the bucket.
- Click Upload, then click Add Files, and select the test file (at least 100 MB or larger if you have a lot of upload bandwidth).
- AWS will not provide transfer speed statistics, so prepare to time the transfer manually, then click Upload.
Command Line with s3cmd
The s3cmd utility can be used to test AWS upload speed when a GUI is not available. It requires Python to be installed, and officially supports Linux and Mac. It may also run on Windows with Python installed.
On Linux, it may be available in your distribution via the package manager. For example, in Ubuntu, you can use the following to install s3cmd:
sudo apt update && sudo apt install s3cmd
It can also be downloaded here:
Once it is installed, configure it as follows (custom values in bold). Settings that can use the default values have been omitted.
user@server:~$ s3cmd --configure <omitted> Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables. Access Key: <your access key> Secret Key: <your secret key> <omitted>
To test transfer speed, create a large file (at least 100 MB or larger if you have a lot of upload bandwidth), then run the following command (below example is Linux, 100MB is a large file, test0 is the name of the bucket):
user@server:~$ time s3cmd put 100MB s3://dl-us-west-1 upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 1 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1411.04 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 2 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1416.75 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 3 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1452.63 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 4 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1454.92 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 5 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1456.17 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 6 of 7, 15MB] [1 of 1] 15728640 of 15728640 100% in 10s 1451.68 kB/s done upload: '100MB' -> 's3://dl-us-west-1/100MB' [part 7 of 7, 10MB] [1 of 1] 10485760 of 10485760 100% in 7s 1446.46 kB/s done real 1m12.157s user 0m1.487s sys 0m0.152s
If your system does not have the time command, you can measure the time manually.