Project

General

Profile

Actions

Bug #12241

closed

System Information widget unnecessarily polls data for hidden items

Added by B D over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Viktor Gurov
Category:
Dashboard
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
22.01
Release Notes:
Default
Affected Version:
Affected Architecture:

Description

Netgate SG-3100
pfSense 21.05.1 (observed under 2.4.5p1 too)

If I am not logged into the Web GUI and specifically on the Dashboard page, I get line 940Mbps bandwidth through my router from my cable modem to my laptop (both attached directly to the SG-3100). If I have the Dashboard page open (in any browser), even with only the System Information widget enabled and all items on it hidden (the minimal Dashboard possible), the bandwidth drops to just over 700Mbps.

Actions #1

Updated by Jim Pingle over 2 years ago

  • Project changed from pfSense Plus to pfSense
  • Subject changed from Web GUI Dashboard severely impacts heavy load bandwidth on SG-3100 to Web GUI Dashboard severely impacts heavy load bandwidth
  • Category changed from Dashboard to Dashboard
  • Target version set to 2.6.0
  • Plus Target Version set to 21.09
  • Affected Architecture deleted (SG-3100)

Watching the dashboard puts a load on the system as it fetches the data used to display the widgets. Some of this is from the CPU used by PHP directly along with nginx to handle the dashboard requests. On top of that, one of the items in the system information widget is pf states and probing the states will cause a throughput drop as pf dumps out the state data. There are similar issues when viewing other pf information in the GUI or at the CLI, or even when a system has RRD enabled due to stats being gathered periodically in the background for the RRD datasets.

While not technically a bug per se, but an expected natural side effect, it should be improved on 21.09 from other work being done on pf and FreeBSD in this area.

This is not specific to any particular piece of hardware, though the faster the hardware the less noticeable it will be.

If there is still room for improvement after the changes in 21.09/2.6.0 this can be re-targeted ahead and checked again once we're on FreeBSD 13.

Actions #2

Updated by B D over 2 years ago

Jim,

Thanks for the feedback. Please note that the performance drop occurs even when all items (not just pf states) in the System Information widget. That suggests hiding items is only a display feature and does not actually eliminate the underlying calculations. Separate issue?

Actions #3

Updated by B D over 2 years ago

... above should be when all are hidden.

Actions #4

Updated by Jim Pingle over 2 years ago

That is correct, hiding items does not stop the data from being collected. Hiding a whole widget would, but not specific pieces of data inside a given widget. That isn't a bug, it's just how the widgets were designed and a side effect of how they fetch data. Whether or not an item is displayed is cosmetic only at that point.

Actions #5

Updated by B D over 2 years ago

But since the System Information widget can't ever be removed -- that means its performance penalty is fixed for the Dashboard. That's unfortunate. I hope this is much improved in 21.09 for the SG-3100 -- 200Mbps penalty is a whopper.

Actions #6

Updated by Jim Pingle over 2 years ago

That has always been the case and likely always will be -- just the fact that you're hitting the dashboard and constantly polling PHP and nginx will reduce performance because that consumes CPU, sometimes significant amounts. There is never going to be a way around that. If you want peak performance, don't keep the dashboard open.

Actions #8

Updated by Jim Pingle over 2 years ago

  • Status changed from New to Pull Request Review
Actions #9

Updated by Viktor Gurov over 2 years ago

  • Status changed from Pull Request Review to Feedback
  • Assignee set to Viktor Gurov

Merged

Actions #10

Updated by Viktor Gurov over 2 years ago

B D wrote in #note-5:

But since the System Information widget can't ever be removed -- that means its performance penalty is fixed for the Dashboard. That's unfortunate. I hope this is much improved in 21.09 for the SG-3100 -- 200Mbps penalty is a whopper.

You can test the fix by applying the patch ID 136c1462b64e0b132e090849712c5a4007b42e5d
using the System Patches pkg: https://docs.netgate.com/pfsense/en/latest/development/system-patches.html

Actions #11

Updated by Jim Pingle over 2 years ago

  • Subject changed from Web GUI Dashboard severely impacts heavy load bandwidth to System Information widget unnecessarily polls data for hidden items

Updating subject for release notes.

Actions #12

Updated by Jim Pingle over 2 years ago

  • Plus Target Version changed from 21.09 to 22.01
Actions #13

Updated by Kris Phillips over 2 years ago

Tested in 22.01. Could be placebo but I noticed a 3-4x CPU usage drop after removing the System Information widget.

Actions #14

Updated by Viktor Gurov over 2 years ago

  • Status changed from Feedback to Resolved

This is noticeable on SG-3100 with 1Gb/s uplink

Actions

Also available in: Atom PDF