-
Notifications
You must be signed in to change notification settings - Fork 0
Home
collina edited this page Feb 17, 2013
·
70 revisions
“Prison is like, there’s no bandwidth.”
— Eric Schmidt, Google Executive Chairman, Mobile World Congress. February 28, 2012
Things that Matter to Me
- Oh, damn. This is a metric of where to put proxy servers.
- ASNs reporting speeds over third quantile
- National variance — if (asn_clients > threshold): compare(asn, all_asns) for similar fluctuation across month
- National trends — max, median, mean
- Histogram of speeds for download tests in Iran
- In addition to measuring the familiar upload and download speeds of a user’s connection, NDT also performs tests that can assess factors such as latency, packet loss, congestion, bad cables, out of order delivery and bottlenecks on the end-to-end path from client to server (on either side of the connection).
Needs
- Visualization of centrality of TCI in international Internet traffic (scamper in all blocks)
Local Server Selection
Select servers for evaluation based on high average throughput and lower latencies (GR, GB, FR).
| Country | Tests | Clients | Max Thru | Average Thru | Min MinRTT | Avg MinRTT | Min MaxRTT | Avg MaxRTT |
| GR | 1,802 | 1,498 | 0.8316 | 0.0501 | 135.0000 | 319.1315 | 168.0000 | 703.1498 |
| US | 629 | 523 | 0.4858 | 0.0403 | 126.0000 | 330.1971 | 242.0000 | 723.2544 |
| GB | 458 | 348 | 1.0188 | 0.0495 | 104.0000 | 269.8777 | 161.0000 | 674.7707 |
| FR | 357 | 292 | 0.6942 | 0.0449 | 108.0000 | 280.4510 | 210.0000 | 661.6667 |
| DE | 77 | 73 | 0.3381 | 0.0297 | 117.0000 | 283.4675 | 297.0000 | 772.0519 |
| TW | 2 | 2 | 0.0525 | 0.0330 | 453.0000 | 492.0000 | 664.0000 | 865.5000 |
| JP | 1 | 1 | 0.0103 | 0.0103 | 394.0000 | 394.0000 | 665.0000 | 665.0000 |
| December 2012, Country Aggregated Data | ||||||||
Questions
- Does the selection mechanism bias different ASNs or Routes?
Notes on Data
- Times are recorded in GMT
Data Sources
SELECT
web100_log_entry.log_time,
web100_log_entry.connection_spec.remote_ip,
web100_log_entry.snap.HCThruOctetsAcked,
web100_log_entry.snap.SndLimTimeRwin,
web100_log_entry.snap.SndLimTimeCwnd,
web100_log_entry.snap.SndLimTimeSnd,
web100_log_entry.snap.MinRTT,
web100_log_entry.snap.MaxRTT,
web100_log_entry.snap.SumRTT,
web100_log_entry.snap.CountRTT,
web100_log_entry.snap.MaxMSS,
web100_log_entry.snap.SegsRetrans,
web100_log_entry.snap.SegsOut,
web100_log_entry.snap.DataSegsOut,
web100_log_entry.snap.CongSignals,
web100_log_entry.snap.Timeouts,
web100_log_entry.snap.DupAcksOut,
web100_log_entry.snap.ECNsignals,
connection_spec.client_geolocation.country_code,
connection_spec.server_geolocation.country_code
FROM [measurement-lab:m_lab.2010_01],
[measurement-lab:m_lab.2010_02],
[measurement-lab:m_lab.2010_03],
[measurement-lab:m_lab.2010_04],
[measurement-lab:m_lab.2010_05],
[measurement-lab:m_lab.2010_06],
[measurement-lab:m_lab.2010_07],
[measurement-lab:m_lab.2010_08],
[measurement-lab:m_lab.2010_09],
[measurement-lab:m_lab.2010_10],
[measurement-lab:m_lab.2010_11],
[measurement-lab:m_lab.2010_12],
[measurement-lab:m_lab.2011_01],
[measurement-lab:m_lab.2011_02],
[measurement-lab:m_lab.2011_03],
[measurement-lab:m_lab.2011_04],
[measurement-lab:m_lab.2011_05],
[measurement-lab:m_lab.2011_06],
[measurement-lab:m_lab.2011_07],
[measurement-lab:m_lab.2011_08],
[measurement-lab:m_lab.2011_09],
[measurement-lab:m_lab.2011_10],
[measurement-lab:m_lab.2011_11],
[measurement-lab:m_lab.2011_12],
[measurement-lab:m_lab.2012_01],
[measurement-lab:m_lab.2012_02],
[measurement-lab:m_lab.2012_03],
[measurement-lab:m_lab.2012_04],
[measurement-lab:m_lab.2012_05],
[measurement-lab:m_lab.2012_06],
[measurement-lab:m_lab.2012_07],
[measurement-lab:m_lab.2012_08],
[measurement-lab:m_lab.2012_09],
[measurement-lab:m_lab.2012_10],
[measurement-lab:m_lab.2012_11],
[measurement-lab:m_lab.2012_12],
[measurement-lab:m_lab.2013_01],
[measurement-lab:m_lab.2013_02]
WHERE
IS_EXPLICITLY_DEFINED(project)
AND project = 0
AND IS_EXPLICITLY_DEFINED(connection_spec.data_direction)
AND connection_spec.data_direction = 1
AND IS_EXPLICITLY_DEFINED(web100_log_entry.is_last_entry)
AND web100_log_entry.is_last_entry = True
AND IS_EXPLICITLY_DEFINED(web100_log_entry.snap.HCThruOctetsAcked)
AND web100_log_entry.snap.HCThruOctetsAcked >= 8192
AND web100_log_entry.snap.HCThruOctetsAcked < 1000000000
AND IS_EXPLICITLY_DEFINED(web100_log_entry.snap.SndLimTimeRwin)
AND IS_EXPLICITLY_DEFINED(web100_log_entry.snap.SndLimTimeCwnd)
AND IS_EXPLICITLY_DEFINED(web100_log_entry.snap.SndLimTimeSnd)
AND (web100_log_entry.snap.SndLimTimeRwin +
web100_log_entry.snap.SndLimTimeCwnd +
web100_log_entry.snap.SndLimTimeSnd) >= 9000000
AND (web100_log_entry.snap.SndLimTimeRwin +
web100_log_entry.snap.SndLimTimeCwnd +
web100_log_entry.snap.SndLimTimeSnd) < 3600000000
AND IS_EXPLICITLY_DEFINED(web100_log_entry.log_time)
AND IS_EXPLICITLY_DEFINED(web100_log_entry.connection_spec.remote_ip)
AND IS_EXPLICITLY_DEFINED(web100_log_entry.connection_spec.local_ip)
AND connection_spec.client_geolocation.country_code = 'IR'
| Data Point | Units | Equation |
| Packet loss (S2C) | Percentage of Packets | |
| Average Latency | Milliseconds | |
| Network-Limited Time Ratio | Percentage of Time | |
| Network Throughput (S2C) | Kilobits per Second | |
| Retransmissions (S2C) | Percentage of Segments | |
| Packets Arriving Out of Order | Percentage of Packets |
- Retransmissions is a probability metric, and should be computed as SUM/SUM * 100
- but it does not return the “commonly” expected result. I.e., it does not return the avg RTT between server and client, because, as soon as the congestion reaches congestion, RTT gets longer. That’s why I used MinRTT.