On Wed, Aug 7, 2013 at 10:31 AM, Martin Schröder <[email protected]> wrote:
> 2013/8/7 Maxim Khitrov <[email protected]>:
>> I've read the "Network Tuning and Performance Guide" @ calomel.org,
>
> Ignore that site and search the list archives.

Understood :)

I found a number of recommendations for the things to keep an eye on,
but nothing that gave me any ideas on what else to try for improving
the performance.

Specifically, I looked at netstat -m on both systems, where everything
was well below the limits (<500 mbufs in use during the test). I see
about 8200/8700 (ix0/total) interrupts in systat with 1500 MTU. CPU
usage in top is split between two cores, one at ~80% interrupt and the
other at ~80% system. Most of the time all four cores are at least 10%
idle (hyper-threading is disabled in BIOS). netstat -i shows no errors
for ix0 and sysctl net.inet.ip.ifq.drops is at 0 on both systems.

What did surprise me is that netstat -ss (output below) shows that all
received packets were hardware-checksummed, but this value is 0 for
sent packets. Does this mean that ix supports checksum offloading, but
only for inbound packets? This should be a bit of good news for me
once I start testing forwarding performance. I assume that as long as
pf doesn't modify the packet (no nat/rdr, modulate state, scrubbing,
etc.), then there shouldn't be any need to recompute the checksum.
Correct?

ip:
        39827125 total packets received
        39820936 packets for this host
        40 packets for unknown/unsupported protocol
        77150033 packets sent from this host
        39826536 input datagrams checksum-processed by hardware
icmp:
        147 calls to icmp_error
        Output packet histogram:
                destination unreachable: 48
        Input packet histogram:
                echo reply: 2
                destination unreachable: 40
igmp:
ipencap:
tcp:
        77147020 packets sent
                77145183 data packets (111695427326 bytes)
                2 data packets (2836 bytes) retransmitted
                1763 ack-only packets (4427 delayed)
                6 window update packets
                66 control packets
        39817607 packets received
                38983910 acks (for 111695426667 bytes)
                18 duplicate acks
                5814 packets (560082 bytes) received in-sequence
                38 out-of-order packets (872 bytes)
                830155 window update packets
                1 packet received after close
                39817153 packets hardware-checksummed
        41 connection requests
        10 connection accepts
        49 connections established (including accepts)
        43 connections closed (including 1 drop)
        38983035 segments updated rtt (of 1217192 attempts)
        4 retransmit timeouts
        2 keepalive timeouts
                2 keepalive probes sent
        601 correct ACK header predictions
        3276 correct data packet header predictions
        20 PCB cache misses
                        cwr by timeout: 4
        10 SYN cache entries added
                10 completed
        3 SACK options received
        1 SACK option sent
udp:
        3327 datagrams received
        39 with no checksum
        3193 input packets hardware-checksummed
        47 dropped due to no socket
        3280 delivered
        2958 datagrams output
        708 missed PCB cache
esp:
ah:
etherip:
ipcomp:
carp:
pfsync:
divert:
pflow:
ip6:
        2 total packets received
        4 packets sent from this host
        Input packet histogram:
                ICMP6: 2
        Mbuf statistics:
                2 one ext mbufs
divert6:
icmp6:
        Output packet histogram:
                multicast listener report: 4
        Histogram of error messages to be generated:
pim6:
rip6:

Reply via email to