10 ms·
The networkQuality tool on macOS
- lxgr 3y agoThat's neat! Interestingly, while the downlink speed indicated seems accurate, it consistently (through VPNs, private relay, or directly) shows my uplink as 1/6th of what I can practically achieve. Makes sense, given that they are using their CDN for this – a typical CDN would likely not be optimized for high eyeball ISP -> CDN throughput.
- CrLf 3y agoApple's "networkQuality" tool (or the open source alternative that you can run in other operating systems: https://github.com/network-quality/goresponsiveness https://github.com/network-quality/goresponsiveness) is very useful to understand how your connection behaves under extreme conditions, but extreme conditions is not something home connections see regularly, so make sure to use a combination of tools if you want to understand how your home connection behaves under expected use. It's more of an art than a science, really, and your ISP may be optimizing for more average use cases. Personally, I like to start with a regular web-based speed test (I'm biased towards https://speed.cloudflare.com https://speed.cloudflare.com, but any test that shows latency under load is OK, like https://www.waveform.com/tools/bufferbloat https://www.waveform.com/tools/bufferbloat or https://fast.com https://fast.com [1]) and then combine it with "networkQuality" running concurrently (if possible, from a different host) and see how it impacts the numbers. Of course, this only makes sense if you have your own router running (for example) OpenWRT where you can enable active queue management (SQM/AQM) and actually do something to improve the results [2]. [1] In more recent times I'm finding fast.com to be a bit unreliable, as some ISPs may treat Netflix traffic specially (like allowing for longer bursts over contracted speeds, etc. — net neutrality notwithstanding). [2] I highly recommend this last option if you can. In my case, it allows me to be able to run "networkQuality" during a video call (over WiFi even) without any visible degradation. See: https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm https://openwrt.org/docs/guide-user/network/traffic-shaping/...
- jorvi 3y ago> Of course, this only makes sense if you, for example, have your own router running OpenWRT where you can enable active queue management (SQM/AQM) You actually rarely if ever can make use of this, because you need flow offloading past ~175Mbps, which completely bypasses SQM.
- CrLf 3y agoThat's not true, fortunately. You do need a router with a beefy CPU, though. With SQM (CAKE) enabled, my WRT1900acs router (1.6GHz dual-core) can handle my 500/100 Mbps FTTH connection just fine, with plenty of CPU to spare. From my calculations it probably doesn't quite have enough CPU to sustain 1 Gbps, should I ever upgrade to that. But the router itself is a few years old now, so that's not really surprising.
- wtallis 3y ago> because you need flow offloading past ~175Mbps, That's approximately correct if your router is using an 880MHz MIPS CPU core, but the industry has actually mostly moved on from those.
- meinheld111 3y agoUnfortunately most ARM‘s are also too weak
- wtallis 3y agoToo weak for a full symmetric 1Gb fibre connection, yes. But ARM-based routers with twice the clock speed of those MIPS cores and significantly better performance per clock and much bigger caches have been around for years, and are pretty good at handling SQM for the DOCSIS-based connections that need it most.
- kccqzy 3y agoI benchmarked my cheap ($50) Walmart OpenWRT router that has a MediaTek MT7622 (dual-core ARM Cortex-A53 processor clocked at 1.35GHz); SQM is totally usable below 600Mbps or so.
- gumby 3y agoIt’s good to have an article that highlights a tool others wouldn’t know about, and nice that the authors got the default config, but otherwise it literally just repeats the options from the help text. Perhaps mostly GPT-generated text?
- acolombi 3y agoOne thing this tool doesn’t offer is an over time component. I wrote this (it’s pretty primitive) to examine latencies over time. https://github.com/acolombi/ping_parse https://github.com/acolombi/ping_parse
- CrLf 3y agoNot saying that it isn't useful in practice, but ping is not the best tool if you want accurate latency measurements (ICMP is often deprioritized, in the network and by the OS when sending back replies).
- yborg 3y agoLooks like it's been upgraded in Ventura, here is the output from Monterey: ==== SUMMARY ==== Upload capacity: 5.983 Mbps Download capacity: 116.813 Mbps Upload flows: 20 Download flows: 16 Responsiveness: Medium (274 RPM) Base RTT: 42 Start: 5/14/23, 12:15:20 PM End: 5/14/23, 12:15:36 PM OS Version: Version 12.6.5 (Build 21G531) and it doesn't support the Private Relay option.
- Grazester 3y agoThat Apple logo before the networkQuality on the main page seems like something an Apple lawyer will send a cease and desist for.
- ruph123 3y agoIs there a good tool for Limux that can assess network quality as a whole? It would be nice to have something that can do a few tests all in one run and give me an idea of what is going on (besides tools like ping for latency, iperf for local bandwidth and packet loss).
- deleted 3y ago[deleted]
- moritzwarhier 3y agoTangentially related: the wirelles chips that Apple uses make a world of a difference compared to my other machines (Lenovo ThinkPads in cheap to low-mid price range). They have signal where other devices don't, and, most importantly, Bluetooth does not interfere with 2.4GHz WiFi in a crowded apartment building in a crowded street. This makes a world of a difference. With my previous laptop, I simply couldn't use wireless internet simultaneously with Bluetooth unlesss being in the same room next to my router. With apple client hardware and the same router (it also supports 5GHz, but I'm not sure if that's the underlying cause as it still works great on 2.4GHz with the MacBook), WiFi and BT work flawlessly across my whole apartment.
- garganzol 3y agoThis situation was greatly improved over the last 9 years. A modern machine with Wi-Fi from Asus, Lenovo, Dell etc works as good as Apple, if not better. * Having both ASUS Vivobook and Apple M1 on my desk - Vivobook does it better in a particular environment of my house.
- elabajaba 3y agoIf they're using Intel wifi I agree. I got a Lenovo laptop a couple years ago that used a realtek card for wifi+Bluetooth and the Bluetooth was unusable with my headphones (windows and Linux). Swapping it for a $20 Intel chip fixed all my issues.
- nottorp 3y agoI'd say it's the antenna design not the actual chips?
- punnerud 3y agoResponsiveness differ greatly for me between tests in Norway, in contrast to fast.com (Netflix) and Speedtest.net Guess they change servers regardless if its the most optimal one?
- mofle 3y agoI made a free GUI app for this tool: https://sindresorhus.com/speediness https://sindresorhus.com/speediness
- thadk 3y agoNow that Apple TV+ is a big player in streaming video, they need to make sure the incumbent internet providers in the USA are not playing traffic shaping games targeting their servers. It is just like how Netflix hosts a major speed tester.
- martini333 3y agoHolding Alt and Clicking the Wi-Fi-symbol is more useful.
- nerdbert 3y agoThat only gives information about the link between your computer and the wifi access point you're connected to. This conversation is about what's happening upstream of that.
- slater 3y agoIt's not.
- CSDude 3y agoIt only shows the link speed. Not the actual bandwidth or responsiveness in the network.
- lxgr 3y agoAnd even at that, it's only your mac's transmitting (not receiving) link speed.
- deleted 3y ago[deleted]
- datadeft 3y agoYou are missing ~70% of the tools functionality.
- martini333 3y agoDid anyone claim it to be equivalent? I said it was more useful. Just a tip.
- razemio 3y agoHow is showing your link speed more useful than showing your actual speed? The link speed does not show anything useful, besides that you might be connected to a router from the 90s.
- keyle 3y agoThat is neat. But an undocumented tool is hardly a secret... [1] [1]: https://www.macobserver.com/tips/macos-monterey-includes-network-quality-test/ https://www.macobserver.com/tips/macos-monterey-includes-net...
- _a_a_a_ 3y agoYou fool, it's a secret because you've now been admitted into the elect club of people who know something that the common herd are unaware of. You have now been elevated because you're special, you can see the world properly now. You are special. It's not a lazy, borderline-insulting clickbait headline at all.
- niij 3y agoYou're insulted because the article title referred to this hidden tool as hidden?
- stevenhuang 3y agoI think he was in jest there, /s perhaps needed.
- deleted 3y ago[deleted]
- ChrisMarshallNY 3y agoThat's a cool tool. Thanks!
- heywire 3y agoFrom the article, a set of reference servers, one in Swift, one in Go: https://github.com/network-quality/server https://github.com/network-quality/server
- paulsmith 3y agoLooks like the Go implementation has been pulled out to its own repo and has been recently maintained: https://github.com/network-quality/goserver https://github.com/network-quality/goserver Also of note: looks like Apple has proposed a new IETF RFC for responsiveness and the "Round-trips Per Minute" (RPM) metric: https://github.com/network-quality/draft-ietf-ippm-responsiveness/blob/master/draft-ietf-ippm-responsiveness.txt https://github.com/network-quality/draft-ietf-ippm-responsiv...
- Alifatisk 3y agoVery cool finding! Made me want to explore what other tools my mac has pre-installed in /usr/bin
- jfarmer 3y agoOne nice thing about macOS is that many of the system GUI tools are graphical wrappers around a command-line tool that does the real work. Most of them live in /usr/sbin I keep a list for my students. Here are some: diskutil mdfind mdutil plutil networksetup softwareupdate screencapture pmset hdiutil pkgutil caffeinate osascript defaults launchctl For example, mdfind lets you use Spotlight search on the command line. diskutil powers "Disk Utility.app". pkgutil lets you install .pkg files and also get information about programs installed that way. screencapture lets you take screenshots from the command line (you can specify which windows, etc.) Anyhow, there's a bunch. There are also random useful executables not in $PATH. This program powers your WiFi menu: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport Try "airport -I" A silly one-liners to print out your overall WiFi strength: airport -I | grep -E 'agrCtlRSSI|agrCtlNoise' | awk '{print $2}' | sed -e 'N;s/\n/ - /' | bc Put that in a script called "wifi-strength" and walk around your house with a laptop while running the following: watch -n1 "wifi-strength | say"
- vrglvrglvrgl 3y ago[dead]
- ajb 3y agoNice that it gives "responsiveness under working conditions" and defines latency as "idle latency". So this tool makes faults like buffer bloat clear to the user rather than just giving the max bandwidth like most tools.
- ghotli 3y agoSpeedtest shows loaded latency information now too. Agreed, sometimes latency is more important than max bandwidth
- meinheld111 3y ago> sometimes latency is more important than max bandwidth we probably could have stuck with sneakernet if it wasn‘t more important most of the time
- BrianHutch 3y ago"never underestimate the bandwidth of a station wagon full of tapes" as the old saying goes.
- shagie 3y agoConsider the data connections from Arecibo or Ice Cube (which has many of the same problems). From Wikipedia: > Observational data were recorded on 2-terabyte SATA hard disk drives fed from the Arecibo Telescope in Puerto Rico, each holding about 2.5 days of observations, which were then sent to Berkeley. Arecibo does not have a broadband Internet connection, so data must go by postal mail to Berkeley. https://setiathome.ssl.berkeley.edu/~korpela/papers/CISE.pdf https://setiathome.ssl.berkeley.edu/~korpela/papers/CISE.pdf > This 2.5-MHz band is recorded continuously onto 35 Gbyte DLT tapes using 2-bit complex samples. Each tape holds about 15.5 hours of data. The entire sky survey is expected to require 1,100 tapes, for a total of 39 Tbytes of data. > The recorded tapes are shipped to Berkeley, where we subdivide them into small work units on four splitter workstations. ... --- https://icecube.wisc.edu/about-us/facts/ https://icecube.wisc.edu/about-us/facts/ > One terabyte of unfiltered data is collected daily and about 100 gigabytes are sent over satellite for analysis. It's better now (the South Pole does have a broadband link)... but Ice Cube is only sending 10% of its data.
- cynicalsecurity 3y agoAll kinds of undocumented findings will occur in a closed source software. And this one is not even the most shocking.
- detourdog 3y agoIt is not undocumented it has a man page and exists in /usr/bin. Finally I believe here is the source code. https://github.com/network-quality https://github.com/network-quality
- coldcode 3y agoI don't see any explanation of what the results mean. There is no man page; the help is just a list of options.
- CrLf 3y agohttps://www.ietf.org/archive/id/draft-cpaasch-ippm-responsiveness-00.html https://www.ietf.org/archive/id/draft-cpaasch-ippm-responsiv... You may want to read the RFC draft. However, the results are meant to be opaque. You just need to know that more RPM is better.
- AndroTux 3y ago5 bucks that at least the conclusion was written by ChatGPT.
- dieulot 3y agoIt’s an unreliable tool worldwide because (I assume) it uses Apple’s servers/CDNs, which do not reliably max out my bandwidth (400MB/s in France). Verify the results with another tool if you don’t live in the US.
- selfhoster69 3y agoThis is a little weird for me: Using Cloudflare's 1.1.1.1: ~> curl -s --doh-url https://cloudflare-dns.com/dns-query https://mensura.cdn-apple.com/api/v1/gm/config | jq -r .test_endpoint sgsin3-edge-bx-008.aaplimg.com PING sgsin3-edge-bx-008.b.aaplimg.com (17.253.61.15) 56(84) bytes of data. 64 bytes from sgsin3-edge-bx-008.b.aaplimg.com (17.253.61.15): icmp_seq=1 ttl=52 time=74.2 ms If I use 8.8.8.8: ~> curl -s --doh-url https://dns.google/dns-query https://mensura.cdn-apple.com/api/v1/gm/config | jq -r .test_endpoint hkhkg1-edge-bx-007.aaplimg.com ~> ping hkhkg1-edge-bx-007.aaplimg.com PING hkhkg1-edge-bx-007.aaplimg.com (17.253.85.13) 56(84) bytes of data. 64 bytes from hkhkg1-edge-bx-007.aaplimg.com (17.253.85.13): icmp_seq=1 ttl=54 time=107 ms Seems like I'm two different PoPs depending on which DNS I'm using.
- lxgr 3y agoWhere are you actually located? 1.1.1.1 does not support the EDNS client subnet header [1], which means that practically, the CDN's DNS server will see your request as originating from your nearest 1.1.1.1 resolver. 8.8.8.8 does, so if the CDN evaluates it, you might get a better match (or a worse one!) [1] https://developers.cloudflare.com/1.1.1.1/faq/#does-1.1.1.1-send-edns-client-subnet-header https://developers.cloudflare.com/1.1.1.1/faq/#does-1.1.1.1-...
- miyuru 3y agoEDNS makes a huge difference as many CDNS still use it. Here is a test I did 4 years back. https://blog.miyuru.lk/edns-geo-table-2019/ https://blog.miyuru.lk/edns-geo-table-2019/ I have a tinfoil-hat theory that CF removed EDNS support to make other CDNs slow and make their own CDN look good, but if there's a CF POP nearby it does not make much difference.
- detaro 3y agowhy is that weird?
- dweekly 3y agoFrom the article: Apple's test_endpoint changes on each request, selecting a different nearby server to reduce latency and distributing their server load.
- perfmode 3y agomaybe i can cancel my pingplotter pro subscription