22 Nov, 2016
Apache Benckmark: Tested using ab ( https://httpd.apache.org/docs/2.4/programs/ab.html)
user@goo:~$ ab -n 1000 -c 1000 <snipped> This is ApacheBench, Version 2.3 <$Revision: 1706008 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking <snipped>.ifcdata.mobi (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.4.29 Server Hostname: <snipped>.ifcdata.mobi Server Port: 80 Document Path: /igrid/flex Document Length: 7762 bytes Concurrency Level: 1000 Time taken for tests: 29.873 seconds Complete requests: 1000 Failed requests: 19 (Connect: 0, Receive: 0, Length: 19, Exceptions: 0) Non-2xx responses: 981 Total transferred: 8117775 bytes HTML transferred: 7614522 bytes Requests per second: 33.47 [#/sec] (mean) Time per request: 29873.232 [ms] (mean) Time per request: 29.873 [ms] (mean, across all concurrent requests) Transfer rate: 265.37 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 182 375.8 27 1061 Processing: 32 1541 3841.1 442 29862 Waiting: 0 1063 1961.9 394 15370 Total: 62 1723 3848.0 503 29862 Percentage of the requests served within a certain time (ms) 50% 503 66% 1604 75% 2007 80% 2097 90% 2882 95% 2994 98% 15402 99% 23281 100% 29862 (longest request)
Mysql Bench Mark: Tested using mysqlslap (https://dev.mysql.com/doc/refman/8.0/en/mysqlslap.html)
50 concurrent connections, and have the auto-generated query run 10 times
user@goo:/tmp/mysql/employees_db# sudo mysqlslap --user=root --password --host=localhost --concurrency=50 --iterations=100 --number-int-cols=5 --number-char-cols=20 --auto-generate-sql --verbose Enter password: Benchmark Average number of seconds to run all queries: 0.184 seconds Minimum number of seconds to run all queries: 0.154 seconds Maximum number of seconds to run all queries: 0.497 seconds Number of clients running queries: 50 Average number of queries per client: 0
Running a query against the deptemp table. The deptemp
table has more than three hundred thousand records.
user@goo:/tmp/mysql/employees_db# sudo mysqlslap --user=root --password --host=localhost --concurrency=50 --iterations=10 --create-schema=employees --query="SELECT * FROM dept_emp;" --verbose Enter password: Benchmark Average number of seconds to run all queries: 3.271 seconds Minimum number of seconds to run all queries: 1.987 seconds Maximum number of seconds to run all queries: 11.845 seconds Number of clients running queries: 50 Average number of queries per client: 1
Speed Test Digital Ocean Bangalore vs S3 Mumbai
I wanted to test the upload and the download speeds between DigitalOcean Bangalore DC and S3 Mumbai for one of the products we are building. I also wanted to compare results between Bangalore, Mumbai and Singapore in where both AWS and DO have their DC’s. Tested on a 70MBPS ACT connection.
100MB.bin
File downloaded from DigitalOcean was taken from their speed test page.
Bangalore Test file.
http://speedtest-blr1.digitalocean.com/
Singapore Test File.
http://speedtest-sgp1.digitalocean.com
S3, I used my private buckets in Mumbai and Singapore.
Results
Interestingly from Chennai(i guess from Bangalore as well), Singapore S3 bucket has a average download speed of 4626k
, next comes S3 Mumbai, with DO Bangalore placed at 3rd.
$ time curl -O http://speedtest-blr1.digitalocean.com/100mb.test % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100M 100 100M 0 0 3964k 0 0:00:25 0:00:25 --:--:-- 3977k real 0m25.910s user 0m0.244s sys 0m1.192s $ time curl -O https://s3.ap-south-1.amazonaws.com/mumbai/100mb.test % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100M 100 100M 0 0 4159k 0 0:00:24 0:00:24 --:--:-- 3181k real 0m24.698s user 0m0.419s sys 0m1.069s $ time curl -O http://speedtest-sgp1.digitalocean.com/100mb.test % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100M 100 100M 0 0 2836k 0 0:00:36 0:00:36 --:--:-- 3195k real 0m36.183s user 0m0.227s sys 0m1.087s $ time curl -O https://s3-ap-southeast-1.amazonaws.com/singapore/100mb.test % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100M 100 100M 0 0 4626k 0 0:00:22 0:00:22 --:--:-- 5009k real 0m22.223s user 0m0.379s sys 0m1.009s
Uploads
I ran upload test with the same downloaded file to Mumbai and Singapore S3. I don't have DigitalOcean account, so was not able to test by uploading to their Bangalore and Singapore Storage service for now.
It took 1.85 secs to mumbai and 1.05 to singapore S3 buckets respectively.
$ time aws s3 cp 100mb.test s3://mumbai upload: ./100mb.test to s3://xxxxx/100mb.test real 1m8.527s user 0m3.392s sys 0m1.043s $ time aws s3 cp 100mb.test s3://singapore upload: ./100mb.test to s3://singapore/100mb.test real 1m0.516s user 0m3.293s sys 0m0.939s
Summarise
S3 seems to be faster for the above tests within India, Singapore seems faster from south India, faster than Digital Ocean Bangalore data center.