Last active
August 29, 2015 14:17
-
-
Save bdkosher/040811c2d86b4672664e to your computer and use it in GitHub Desktop.
Gathering statistics on download speeds using curl httpd wtih mod_ratelimit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| %{url_effective},%{size_download},%{time_total},%{speed_download}\n |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| NBR_OF_DOWNLOADS=100 | |
| RATES=(0 700 600 500 450 400 350 300 250 200 150 100 50 45 40 35 30 25 20 15 10) | |
| FILES=(A.zip B.zip C.zip) | |
| for f in "${FILES[@]}" | |
| do | |
| for i in $(seq 1 $NBR_OF_DOWNLOADS) | |
| do | |
| for rate in "${RATES[@]}" | |
| do | |
| curl -s -o /dev/null -w @curl_write-out_fmt http://localhost/files/$rate/$f >> dllog_$rate.csv | |
| done | |
| done | |
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| LoadModule ratelimit_module modules/mod_ratelimit.so | |
| # Could use a single dynamic location if runnign 2.4.8+ http://httpd.apache.org/docs/2.4/mod/core.html#locationmatch | |
| <Location /files/10> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 10 | |
| </Location> | |
| <Location /files/15> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 15 | |
| </Location> | |
| <Location /files/20> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 20 | |
| </Location> | |
| <Location /files/25> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 25 | |
| </Location> | |
| <Location /files/30> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 30 | |
| </Location> | |
| <Location /files/35> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 35 | |
| </Location> | |
| <Location /files/40> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 40 | |
| </Location> | |
| <Location /files/50> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 50 | |
| </Location> | |
| <Location /files/100> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 100 | |
| </Location> | |
| <Location /files/150> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 150 | |
| </Location> | |
| <Location /files/200> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 200 | |
| </Location> | |
| <Location /files/250> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 250 | |
| </Location> | |
| <Location /files/300> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 300 | |
| </Location> | |
| <Location /files/350> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 350 | |
| </Location> | |
| <Location /files/400> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 400 | |
| </Location> | |
| <Location /files/450> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 450 | |
| </Location> | |
| <Location /files/500> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 500 | |
| </Location> | |
| <Location /files/600> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 600 | |
| </Location> | |
| <Location /files/700> | |
| SetOutputFilter RATE_LIMIT | |
| SetEnv rate-limit 700 | |
| </Location> | |
| AliasMatch ^/files/(\d+)/(.*) /var/www/files/$2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment