Project

General

Profile

Bug #6400

assign_interfaces.php issues with large numbers of interfaces

Added by wot wot over 2 years ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Interfaces
Target version:
Start date:
05/24/2016
Due date:
% Done:

100%

Estimated time:
Affected Version:
2.3.x
Affected Architecture:
All

Description

On a firewall running 2.3.1, after creating ~200 vlans, assign_interfaces.php gets very slow while taking 100% cpu. when selecting "assign interfaces" in the cli/console, a lot of "broken pipe" errors turn up before the usual config dialog begins.

I can help with debugging, the box in question however is in production.

1000-interface-config.xml (230 KB) 1000-interface-config.xml Chris Buechler, 07/11/2016 09:18 PM
config-sanitized.xml (110 KB) config-sanitized.xml Clinton Cory, 04/26/2017 01:43 PM

History

#1 Updated by Luiz Souza over 2 years ago

  • Assignee set to Luiz Souza

#2 Updated by Gareth Hay over 2 years ago

We have been doing some testing on one of our sites.

Under 2.2.4 no issue with 100 vlans, under 2.3.1-RELEASE-p5 at 40 vlans it takes around 27 seconds to open the page on our boxes and it is noticibly slower as you add vlans one by one.

At 100 vlans we get a 504 Gateway time out.

nginx: 2016/06/23 12:08:23 [error] 17180#0: *134 upstream timed out (60: Operation timed out) while reading response header from upstream, client: X.X.X.X, server: , request: "GET /interfaces_assign.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.socket", host: "X.X.X.X", referrer: "https://X.X.X.X/".

This also happens under the i386 architecture.

Think this is the same as Bug #6520

#3 Updated by Phillip Davis over 2 years ago

Maybe this is somehow related to https://redmine.pfsense.org/issues/6515
When submitting a change in interfaces_assign, interface_configure() is called, and that calls link_interface_to_vips() - the performance of which is improved by the change for 6515, in commit https://github.com/pfsense/pfsense/commit/d75c55fbe2f98dfe782dfc9dc22f76765e4ef3c2
It seems to me it would only help in a situation where there are a number of VIPs on the system, as well as a bunch of interfaces. So I am not sure that it is related, but would be worth applying the changes in that commit and see if anything improves.

#4 Updated by Chris Buechler over 2 years ago

  • File 1000-interface-config.xml 1000-interface-config.xml added
  • Subject changed from assign_interfaces throws "broken pipe" errors to assign_interfaces.php issues with large numbers of interfaces
  • Status changed from New to Confirmed
  • Target version changed from 2.3.2 to 2.4.0
  • Affected Version changed from 2.3 to 2.3.x
  • Affected Architecture changed from amd64 to All

Not seeing any issues with 200 assigned interfaces (somewhat slower than 2.2.x, but still usable), but take it up to 1000 and assign_interfaces.php is non-functional. 504 timeout

example config attached.

2.3.2 is too near-term for significant changes, historically things along these lines have lead to regressions for the 99.99999% in interest of fixing the 0.00001%, so pushing this to 2.4.0.

#5 Updated by Clinton Cory over 1 year ago

I'm seeing the same issue with a little over 200 VLAN interfaces on 2.3.3. Attached is the config I used.

#6 Updated by Jonas Dreher over 1 year ago

I'm having the same issue with about 230 VLAN interfaces on 2.3.3.
Assign_Interfaces.php ist not usable and all configurations have to be done via console.

#7 Updated by Jim Pingle about 1 year ago

See also: #7726

#8 Updated by Luiz Souza about 1 year ago

  • Target version changed from 2.4.0 to 2.4.1

#9 Updated by Jim Pingle about 1 year ago

  • Target version changed from 2.4.1 to 2.4.2

#10 Updated by Jim Pingle 12 months ago

  • Target version changed from 2.4.2 to 2.4.3

#12 Updated by Peter Schofield 11 months ago

I have submitted a pull request that addresses this, waiting on pfSense devs now.

#13 Updated by Jim Pingle 11 months ago

  • Status changed from Confirmed to Feedback
  • % Done changed from 0 to 100

#14 Updated by Jim Pingle 9 months ago

The previous PR was reverted. Current PR is https://github.com/pfsense/pfsense/pull/3896 and it was merged on Jan 17.

#15 Updated by James Dekker 8 months ago

With the attached config's (1000-interface-config.xml) interfaces restored to 2.4.3.a.20180224.1542 running with 4G memory and 4 cores at ~3.5GHz the dashboard, interfaces page and other pages loaded quickly.

#16 Updated by James Dekker 8 months ago

Tried logging out, WebGUI hung. Tried console menu options 11/16 to get the WebGUI back to no avail.

#17 Updated by James Dekker 8 months ago

Retested With CE 2.4.3.a.20180224.1921 memstick installer and the interface names changed to match the NIC driver being used, performs quickly with no issues loading the dashboard, interfaces page, or other pages. Logging out works and rebooting works.

#18 Updated by Renato Botelho 8 months ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF