We have been trialing a 4-Core OpenServer checkpoint install to potentially replace our existing PFSense units. We have made reasonable progress after solving a couple of early issues, but are now faced with a significant imbalance of CPU usage.
From inspecting the output of the super7 commands, we can see that 99% of our traffic is accelerated, which given what we are using the FW currently makes sense.
Initially when using default configuration of 3 x Worker CoreXL cores, the unit started dropping packets under heavy load as the 1 remaining core was pegged at 100%. We have now reduced this to a 2/2 split which is the best we can do on a 4-core FW, but we are still faced with an issue where 2 of the cores are circa 50% usage, and the other 2 are at 2%
This seems mad to me to have those additional cores sat there, and paid for with licenses to do no work.
Any ideas on this?
+-----------------------------------------------------------------------------+
| Super Seven Performance Assessment Commands v0.5 (Thanks to Timothy Hall) |
+-----------------------------------------------------------------------------+
| Inspecting your environment: OK |
| This is a firewall....(continuing) |
| |
| Referred pagenumbers are to be found in the following book: |
| Max Power: Check Point Firewall Performance Optimization - Second Edition |
| |
| Available at http://www.maxpowerfirewalls.com/ |
| |
+-----------------------------------------------------------------------------+
| Command #1: fwaccel stat |
| |
| Check for : Accelerator Status must be enabled (R77.xx/R80.10 versions) |
| Status must be enabled (R80.20 and higher) |
| Accept Templates must be enabled |
| Message "disabled" from (low rule number) = bad |
| |
| Chapter 9: SecureXL throughput acceleration |
| Page 278 |
+-----------------------------------------------------------------------------+
| Output: |
+---------------------------------------------------------------------------------+
|Id|Name |Status |Interfaces |Features |
+---------------------------------------------------------------------------------+
|0 |SND |enabled |eth0,eth1,eth2,eth3 |Acceleration,Cryptography |
| | | | | |
| | | | |Crypto: Tunnel,UDPEncap,MD5, |
| | | | |SHA1,3DES,DES,AES-128,AES-256,|
| | | | |ESP,LinkSelection,DynamicVPN, |
| | | | |NatTraversal,AES-XCBC,SHA256, |
| | | | |SHA384,SHA512 |
+---------------------------------------------------------------------------------+
Accept Templates : enabled
Drop Templates : disabled
NAT Templates : enabled
+-----------------------------------------------------------------------------+
| Command #2: fwaccel stats -s |
| |
| Check for : Accelerated conns/Totals conns: >25% good, >50% great |
| Accelerated pkts/Total pkts : >50% great |
| PXL pkts/Total pkts : >50% OK |
| F2Fed pkts/Total pkts : <30% good, <10% great |
| |
| Chapter 9: SecureXL throughput acceleration |
| Page 287, Packet/Throughput Acceleration: The Three Kernel Paths |
+-----------------------------------------------------------------------------+
| Output: |
Accelerated conns/Total conns : 53603/53613 (99%)
Accelerated pkts/Total pkts : 30935196276/32079584842 (96%)
F2Fed pkts/Total pkts : 1144388566/32079584842 (3%)
F2V pkts/Total pkts : 133017283/32079584842 (0%)
CPASXL pkts/Total pkts : 0/32079584842 (0%)
PSLXL pkts/Total pkts : 1422288/32079584842 (0%)
CPAS pipeline pkts/Total pkts : 0/32079584842 (0%)
PSL pipeline pkts/Total pkts : 0/32079584842 (0%)
CPAS inline pkts/Total pkts : 0/32079584842 (0%)
PSL inline pkts/Total pkts : 0/32079584842 (0%)
QOS inbound pkts/Total pkts : 0/32079584842 (0%)
QOS outbound pkts/Total pkts : 0/32079584842 (0%)
Corrected pkts/Total pkts : 0/32079584842 (0%)
+-----------------------------------------------------------------------------+
| Command #3: grep -c ^processor /proc/cpuinfo && /sbin/cpuinfo |
| |
| Check for : If number of cores is roughly double what you are excpecting, |
| hyperthreading may be enabled |
| |
| Chapter 7: CoreXL Tuning |
| Page 239 |
+-----------------------------------------------------------------------------+
| Output: |
4
HyperThreading=disabled
+-----------------------------------------------------------------------------+
| Command #4: fw ctl affinity -l -r |
| |
| Check for : SND/IRQ/Dispatcher Cores, # of CPU's allocated to interface(s) |
| Firewall Workers/INSPECT Cores, # of CPU's allocated to fw_x |
| R77.30: Support processes executed on ALL CPU's |
| R80.xx: Support processes only executed on Firewall Worker Cores|
| |
| Chapter 7: CoreXL Tuning |
| Page 221 |
+-----------------------------------------------------------------------------+
| Output: |
CPU 0:
CPU 1:
CPU 2: fw_1
mpdaemon fwd pepd in.asessiond pdpd cprid core_uploader lpd vpnd cprid cpd
CPU 3: fw_0
mpdaemon fwd pepd in.asessiond pdpd cprid core_uploader lpd vpnd cprid cpd
All:
Interface eth0: has multi queue enabled
Interface eth1: has multi queue enabled
Interface eth2: has multi queue enabled
Interface eth3: has multi queue enabled
+-----------------------------------------------------------------------------+
| Command #5: netstat -ni |
| |
| Check for : RX/TX errors |
| RX-DRP % should be <0.1% calculated by (RX-DRP/RX-OK)*100 |
| TX-ERR might indicate Fast Ethernet/100Mbps Duplex Mismatch |
| |
| Chapter 2: Layers 1&2 Performance Optimization |
| Page 28-35 |
| |
| Chapter 7: CoreXL Tuning |
| Page 204 |
| Page 206 (Network Buffering Misses) |
+-----------------------------------------------------------------------------+
| Output: |
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 15533331031 2 0 0 15221099885 0 0 0 BMRU
eth0.229 1500 0 15533334245 0 0 0 15221101840 0 3 0 BMRU
eth1 1500 0 15605607013 2 0 0 15270990974 0 0 0 BMRU
eth1.230 1500 0 15605603229 0 0 0 15270990983 0 0 0 BMRU
eth2 1500 0 717582608 2 0 0 540297021 0 0 0 BMRU
eth2.232 1500 0 134680581 0 8 0 166903228 0 18 0 BMRU
eth2.236 1500 0 23795039 0 0 0 39453839 0 0 0 BMRU
eth2.238 1500 0 28396758 0 0 0 51591299 0 0 0 BMRU
eth2.426 1500 0 377210454 0 6 0 217280203 0 0 0 BMRU
eth2.430 1500 0 26420369 0 10 0 28392175 0 0 0 BMRU
eth2.431 1500 0 126674327 0 0 0 36232270 0 0 0 BMRU
eth2.432 1500 0 405677 0 4 0 444286 0 16 0 BMRU
eth3 1500 0 7396905 2 0 0 58545011 0 0 0 BMRU
eth3.433 1500 0 7399011 0 0 0 58545797 0 3706 0 BMRU
lo 65536 0 1103435 0 0 0 1103435 0 0 0 ALMPNORU
interface eth0: There were no RX drops in the past 0.5 seconds
interface eth0 rx_missed_errors : 0
interface eth0 rx_fifo_errors : 0
interface eth0 rx_no_buffer_count: 0
no stats available
no stats available
no stats available
interface eth0.229: There were no RX drops in the past 0.5 seconds
interface eth0.229 rx_missed_errors :
interface eth0.229 rx_fifo_errors :
interface eth0.229 rx_no_buffer_count:
interface eth1: There were no RX drops in the past 0.5 seconds
interface eth1 rx_missed_errors : 0
interface eth1 rx_fifo_errors : 0
interface eth1 rx_no_buffer_count: 0
no stats available
no stats available
no stats available
interface eth1.230: There were no RX drops in the past 0.5 seconds
interface eth1.230 rx_missed_errors :
interface eth1.230 rx_fifo_errors :
interface eth1.230 rx_no_buffer_count:
interface eth2: There were no RX drops in the past 0.5 seconds
interface eth2 rx_missed_errors : 0
interface eth2 rx_fifo_errors : 0
interface eth2 rx_no_buffer_count: 0
no stats available
no stats available
no stats available
interface eth2.232: There were no RX drops in the past 0.5 seconds
interface eth2.232 rx_missed_errors :
interface eth2.232 rx_fifo_errors :
interface eth2.232 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.236: There were no RX drops in the past 0.5 seconds
interface eth2.236 rx_missed_errors :
interface eth2.236 rx_fifo_errors :
interface eth2.236 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.238: There were no RX drops in the past 0.5 seconds
interface eth2.238 rx_missed_errors :
interface eth2.238 rx_fifo_errors :
interface eth2.238 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.426: There were no RX drops in the past 0.5 seconds
interface eth2.426 rx_missed_errors :
interface eth2.426 rx_fifo_errors :
interface eth2.426 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.430: There were no RX drops in the past 0.5 seconds
interface eth2.430 rx_missed_errors :
interface eth2.430 rx_fifo_errors :
interface eth2.430 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.431: There were no RX drops in the past 0.5 seconds
interface eth2.431 rx_missed_errors :
interface eth2.431 rx_fifo_errors :
interface eth2.431 rx_no_buffer_count:
no stats available
no stats available
no stats available
interface eth2.432: There were no RX drops in the past 0.5 seconds
interface eth2.432 rx_missed_errors :
interface eth2.432 rx_fifo_errors :
interface eth2.432 rx_no_buffer_count:
interface eth3: There were no RX drops in the past 0.5 seconds
interface eth3 rx_missed_errors : 0
interface eth3 rx_fifo_errors : 0
interface eth3 rx_no_buffer_count: 0
no stats available
no stats available
no stats available
interface eth3.433: There were no RX drops in the past 0.5 seconds
interface eth3.433 rx_missed_errors :
interface eth3.433 rx_fifo_errors :
interface eth3.433 rx_no_buffer_count:
+-----------------------------------------------------------------------------+
| Command #6: fw ctl multik stat |
| |
| Check for : Large # of conns on Worker 0 - IPSec VPN/VoIP? |
| Large imbalance of connections on a single or multiple Workers |
| |
| Chapter 7: CoreXL Tuning |
| Page 241 |
| |
| Chapter 8: CoreXL VPN Optimization |
| Page 256 |
+-----------------------------------------------------------------------------+
| Output: |
ID | Active | CPU | Connections | Peak
----------------------------------------------
0 | Yes | 3 | 33063 | 194418
1 | Yes | 2 | 33249 | 192480
+-----------------------------------------------------------------------------+
| Command #7: cpstat os -f multi_cpu -o 1 -c 5 |
| |
| Check for : High SND/IRQ Core Utilization |
| High Firewall Worker Core Utilization |
| |
| Chapter 6: CoreXL & Multi-Queue |
| Page 173 |
+-----------------------------------------------------------------------------+
| Output: |
Processors load
---------------------------------------------------------------------------------
|CPU#|User Time(%)|System Time(%)|Idle Time(%)|Usage(%)|Run queue|Interrupts/sec|
---------------------------------------------------------------------------------
| 1| 0| 33| 67| 33| ?| 184972|
| 2| 0| 33| 67| 33| ?| 184973|
| 3| 2| 5| 93| 7| ?| 184974|
| 4| 3| 5| 92| 8| ?| 184973|
---------------------------------------------------------------------------------
Processors load
---------------------------------------------------------------------------------
|CPU#|User Time(%)|System Time(%)|Idle Time(%)|Usage(%)|Run queue|Interrupts/sec|
---------------------------------------------------------------------------------
| 1| 0| 33| 67| 33| ?| 184972|
| 2| 0| 33| 67| 33| ?| 184973|
| 3| 2| 5| 93| 7| ?| 184974|
| 4| 3| 5| 92| 8| ?| 184973|
---------------------------------------------------------------------------------
Processors load
---------------------------------------------------------------------------------
|CPU#|User Time(%)|System Time(%)|Idle Time(%)|Usage(%)|Run queue|Interrupts/sec|
---------------------------------------------------------------------------------
| 1| 0| 26| 74| 26| ?| 388493|
| 2| 0| 26| 74| 26| ?| 388498|
| 3| 1| 3| 96| 4| ?| 388495|
| 4| 1| 4| 96| 4| ?| 388497|
---------------------------------------------------------------------------------
Processors load
---------------------------------------------------------------------------------
|CPU#|User Time(%)|System Time(%)|Idle Time(%)|Usage(%)|Run queue|Interrupts/sec|
---------------------------------------------------------------------------------
| 1| 0| 26| 74| 26| ?| 388493|
| 2| 0| 26| 74| 26| ?| 388498|
| 3| 1| 3| 96| 4| ?| 388495|
| 4| 1| 4| 96| 4| ?| 388497|
---------------------------------------------------------------------------------
Processors load
---------------------------------------------------------------------------------
|CPU#|User Time(%)|System Time(%)|Idle Time(%)|Usage(%)|Run queue|Interrupts/sec|
---------------------------------------------------------------------------------
| 1| 0| 37| 63| 37| ?| 307033|
| 2| 0| 37| 63| 37| ?| 307033|
| 3| 0| 4| 96| 4| ?| 153517|
| 4| 1| 3| 97| 3| ?| 153516|
---------------------------------------------------------------------------------
+-----------------------------------------------------------------------------+
| Thanks for using s7pac |
+-----------------------------------------------------------------------------+