Bug #6400

assign_interfaces.php issues with large numbers of interfaces

Added by wot wot about 5 years ago. Updated over 3 years ago.

Target version:
Start date:
Due date:
% Done:


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


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


#1 Updated by Luiz Souza about 5 years ago

  • Assignee set to Luiz Souza

#2 Updated by Gareth Hay almost 5 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 almost 5 years ago

Maybe this is somehow related to
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
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 almost 5 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 All added
  • Affected Architecture deleted (amd64)

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 about 4 years 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 about 4 years 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 almost 4 years ago

See also: #7726

#8 Updated by Luiz Souza almost 4 years ago

  • Target version changed from 2.4.0 to 2.4.1

#9 Updated by Jim Pingle over 3 years ago

  • Target version changed from 2.4.1 to 2.4.2

#10 Updated by Jim Pingle over 3 years ago

  • Target version changed from 2.4.2 to 2.4.3

#12 Updated by Peter Schofield over 3 years ago

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

#13 Updated by Jim Pingle over 3 years ago

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

#14 Updated by Jim Pingle over 3 years ago

The previous PR was reverted. Current PR is and it was merged on Jan 17.

#15 Updated by Anonymous over 3 years 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 Anonymous over 3 years ago

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

#17 Updated by Anonymous over 3 years 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 over 3 years ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF