georgkreimer / speedtest

A ruby gem for getting speedtest.net results

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Speedtest

A ruby gem for speedtest.net results

Adapted from https://github.com/lacostej/speedtest.rb

Installation

$ gem install speedtest

or put it in your Gemfile

gem 'speedtest'

and install with

$ bundle install

Usage:

require it in your script

require 'speedtest'

Configure a new test with whatever options you want—all are optional:

  • download_runs - The number of attempts to download each file
  • upload_runs - The number of attempts to upload each file
  • ping_runs - The number of ping attempts to establish latency
  • download_sizes - an array of .jpg dimensions (must be one or more of [350, 500, 750, 1000, 1500, 2000, 2500, 3000, 3500, 4000])
  • upload_sizes
  • debug
test = Speedtest::Test.new(
  download_runs: 4,
    upload_runs: 4,
    ping_runs: 4,
    download_sizes: [750, 1500],
    upload_sizes: [10000, 400000],
    debug: true
 )
 => #<Speedtest::Test:0x007fac5ac9dca0 @download_runs=4, @upload_runs=4, @ping_runs=4, @download_sizes=[750, 1500], @upload_sizes=[10000, 400000], @debug=true>

test.run() returns some results:

results = test.run

With debug set to true, this produces:

Your IP: 97.126.32.16
Your coordinates: [47.4356, -122.1141]
Automatically selected server: http://lg.sea-z.fdcservers.net - 32.985 ms
Server http://lg.sea-z.fdcservers.net

starting download tests:
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random1500x1500.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random750x750.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random1500x1500.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random750x750.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random750x750.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random750x750.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random1500x1500.jpg
  downloading: http://lg.sea-z.fdcservers.net/speedtest/random1500x1500.jpg
Took 6.10022 seconds to download 22345012 bytes in 8 threads
Download: 27.95 Mbps

starting upload tests:
  uploading size 10000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 10000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 10000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 10000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 400000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 400000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 400000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
  uploading size 400000: http://lg.sea-z.fdcservers.net/speedtest/upload.php
Took 3.437126 seconds to upload 1644080 bytes in 8 threads
Upload: 3.65 Mbps

  => #<Speedtest::Result:0x007fac5ac1e680 @server="http://lg.sea-z.fdcservers.net", @latency=32.985, @download_rate=29303876.909357365, @upload_rate=3826638.883765099, @pretty_download_rate="27.95 Mbps", @pretty_upload_rate="3.65 Mbps">

Interesting links

About

A ruby gem for getting speedtest.net results

License:MIT License


Languages

Language:Ruby 100.0%