Speed Test Panel Under Pfsense 2.7.0 Free BSD14
-
@Unoptanio the thread you replied too has the info for the widget, which is here
https://github.com/aln-1/pfsense-speedtest-widget
Not sure if works with current versions of pfsense..
-
Shell Output - pkg install -y py311-speedtest-cli-2.1.3
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):New packages to be INSTALLED:
py311-speedtest-cli: 2.1.3 [pfSense]Number of packages to be installed: 1
52 KiB to be downloaded.
[1/1] Fetching py311-speedtest-cli-2.1.3.pkg: ....... done
Checking integrity... done (0 conflicting)
[1/1] Installing py311-speedtest-cli-2.1.3...
[1/1] Extracting py311-speedtest-cli-2.1.3: .......... doneIt looks like it's been updated.
Now what do you have to do to make the panel appear?
-
-
On 2.7.0 CE, how do I add the panel after installation?
-
@Unoptanio per the instruction given in the link.. Copy that code and past into a file
btw - if your on 2.7 3.11 ?? Pretty sure it should be like
py39-speedtest-cli-2.1.3
-
@Unoptanio said in Speed Test Panel Under Pfsense 2.7.0 Free BSB14:
On 2.7.0 CE, how do I add the panel after installation?
Possibly you did not complete all the installation steps. Did you do this:
Copy the widget file speedtest.widget.php to /usr/local/www/widgets/widgets/ on your pfSense machine.
You will find that file at the GitHub link: https://github.com/aln-1/pfsense-speedtest-widget. The widget requires two different things: (1) install the Python speedtest CLI client binary; and (2) copy down the PHP source code file for the dashboard widget itself.
Once the widget PHP source file is copied to the correct spot on your firewall, you can click the Widgets icon on the pfSense home page to add that widget to your home screen.
-
he wrote it into the tmp folder.
How do I copy it to the folder /usr/local/www/widgets/widgets/? -
@Unoptanio the simple solution here is just ssh to your pfsense, use your fav editor.. I use nano - open that file name where you want it and paste in the code from github..
Just fired up 2.7
[2.7.0-RELEASE][admin@test.mydomain.tld]/root: pkg search speedtest py311-speedtest-cli-2.1.3 Command line interface for testing internet bandwidth [2.7.0-RELEASE][admin@test.mydomain.tld]/root:
odd that not using py39.. But looks like py311 is the one for 2.7, but just copy your widget code and you should be good.
-
@Unoptanio said in Speed Test Panel Under Pfsense 2.7.0 Free BSB14:
How do I copy it to the folder /usr/local/www/widgets/widgets/?
How about the good old copy command ,
cp
, like so:cp /tmp/speedtest.widget.php /usr/local/www/widgets/widgets/speedtest.widget.php
You can run that command at an actual shell prompt on the firewall, or from the DIAGNOSTICS > COMMAND PROMPT menu in the pfSense GUI.
-
-
@Unoptanio as to your values - I have been saying for years - depending on your hardware (pfsense) which isn't meant as a client running speed tests directly on it or too it can show varying results..
While its fine for say a benchmark, he pfsense shows 100, and now its 50 - then something prob not right.. But when you route through pfsense you see your full say 200 speed.
If your going to run speedtest like this or iperf directly on pfsense - you need to understand that. The test of a firewall/router function for routing and firewalling - is through it, not to or from it..
I wouldn't put much stock in the values don't meet your expectations.. Test from a client through pfsense to see if your getting what you should be getting, etc.
-
# pkg search speedtest
py311-speedtest-cli-2.1.3 Command line interface for testing internet bandwidth# pkg install -y py311-speedtest-cli-2.1.3
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):New packages to be INSTALLED:
py311-speedtest-cli: 2.1.3 [pfSense]Number of packages to be installed: 1
52 KiB to be downloaded.
[1/1] Fetching py311-speedtest-cli-2.1.3.pkg: ....... done
Checking integrity... done (0 conflicting)
[1/1] Installing py311-speedtest-cli-2.1.3...
[1/1] Extracting py311-speedtest-cli-2.1.3: .......... done# speedtest-cli
Retrieving speedtest.net configuration...
Testing from Ampersand Srl (80.86.62.2)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by AntennADSL (Rome) [327.43 km]: 25.363 ms
Testing download speed................................................................................
Download: 636.53 Mbit/s
Testing upload speed......................................................................................................
Upload: 169.96 Mbit/s
Execute Shell Command# speedtest --version
speedtest-cli 2.1.3
Python 3.11.3 (main, Jun 27 2023, 17:49:02) [Clang 15.0.7 (https://github.com/llvm/llvm-project.git llvmorg-15.0.7-0-g8dfdcc
Execute Shell Command -
When the speedtest client is installed on pfSense, that makes your firewall one of the two endpoints for the test. So, when running the test, your firewall now has an entire extra set of new tasks to perform in addition to its normal job of receiving network packets, inspecting them against the firewall rules, and then routing them to their destination.
With the speedtest client running, the firewall now has to also generate the necessary speedtest packets to send to the other endpoint (to test upload speed, for example), then it has to keep up with all the packet counts and timing so it can compute and display the final stats. That's the kind of application programming work the firewall code is not optimized for. That means throughput will suffer because the firewall is "distracted" by the extra tasks required to execute the speedtest binary.
This is why folks are advised to put the speedtest client on some endpoint inside your network so that you test throughput "through pfSense" and not "to pfSense". pfSense is optimized to route traffic from interface A to interface B. It's not optimized as well for generating traffic and then sending it and measuring throughput.
-
@Unoptanio said in Speed Test Panel Under Pfsense 2.7.0 Free BSD14:
returns values a little lower than the Ookla test
https://www.speedtest.net/itUntil now Mar 2024, for some unknown reasons: desktop and mobile Ookla’s app versions SHOW BETTER SPEED because CHOOSE GEOGRAPHICALLY NEAREST to You SERVER, algorithm make choice BETTER than CLI-version of app.
Many users note this.
-
@johnpoz said in Speed Test Panel Under Pfsense 2.7.0 Free BSD14:
@Unoptanio as to your values - I have been saying for years - depending on your hardware (pfsense) which isn't meant as a client running speed tests directly on it or too it can show varying results..
But this give understanding about whole ISP uplink bandwidth. (Of course this measurement must be doing WITHOUT any other “everyday normal work” net flow.
Better to measure at 10-11am, and 4:30-5:30pm daytime and 7:30-10:00pm (when ISP appliances are maximum loaded) WITHOUT any other “normal work” net activity.While its fine for say a benchmark, he pfsense shows 100, and now its 50 - then something prob not right.. But when you route through pfsense you see your full say 200 speed.
If your going to run speedtest like this or iperf directly on pfsense - you need to understand that. The test of a firewall/router function for routing and firewalling - is through it, not to or from it..
You are right but 8 of 10 questions here on forum are ABOUT UPLINK BANDWIDTH!!! People not interested in “testing pfSense router”, but interested in “how fast my internet”.
Look at this not from router developer position (I understand clearly, pfSense are like Your child), but FROM ORDINARY USERS PERSPECTIVE.
Only 10-15% interested in measuring VPN connect, or how shaping/limiting working well. (And yes traffic generators and iperf3 are kings here).
I wouldn't put much stock in the values don't meet your expectations.. Test from a client through pfsense to see if your getting what you should be getting, etc.