Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| networkperformancetuning [2016/12/17 08:27] – OlivierCochardLabbé | networkperformancetuning [2018/11/16 08:31] (current) – OlivierCochardLabbé | ||
|---|---|---|---|
| Line 20: | Line 20: | ||
| * net.inet.flowtable.nmbflows | * net.inet.flowtable.nmbflows | ||
| ==== Router ==== | ==== Router ==== | ||
| - | This section describes how to reach 10G performance from your server | + | This section describes how to reach 10G performance from your server. |
| + | |||
| + | **This section is old** you should read the latest [[https:// | ||
| === Hardware === | === Hardware === | ||
| First, you need good NIC(s) capable of: | First, you need good NIC(s) capable of: | ||
| Line 36: | Line 39: | ||
| * Mellanox | * Mellanox | ||
| * Broadcom | * Broadcom | ||
| - | * SolarFlare | + | * %%SolarFlare%% |
| * Brocade | * Brocade | ||
| * Myricom | * Myricom | ||
| Line 53: | Line 56: | ||
| * Ensure you're not running with rtsock generating tons of RTM_MISS messages | * Ensure you're not running with rtsock generating tons of RTM_MISS messages | ||
| - | On %%FreeBSD%% older than 11.0, use more compact ip_fastfoward routine. It processes most packets falling back to ' | + | On %%FreeBSD%% older than 11.0, use more compact ip_fastfoward routine. It processes most packets falling back to ' |
| * net.inet.ip.fastforwarding=1 | * net.inet.ip.fastforwarding=1 | ||
| Do not send IP redirects | Do not send IP redirects | ||
| * net.inet.ip.redirect=0 | * net.inet.ip.redirect=0 | ||
| - | Skip feeding /dev/random from network | + | Skip feeding /dev/random from network. |
| + | Since %%FreeBSD%% 11:0: By adding harvest_mask=" | ||
| + | For older %%FreeBSD%%, | ||
| * kern.random.sys.harvest.ethernet=0 | * kern.random.sys.harvest.ethernet=0 | ||
| * kern.random.sys.harvest.point_to_point=0 | * kern.random.sys.harvest.point_to_point=0 | ||
| * kern.random.sys.harvest.interrupt=0 | * kern.random.sys.harvest.interrupt=0 | ||
| - | Entropy harvest is collecting first 2 bytes of each frame, and doing this under single mutex :-( | + | Entropy harvest is collecting first 2 bytes of each frame, and doing this under single mutex ([[https:// |
| Some benchs about this impact here [[http:// | Some benchs about this impact here [[http:// | ||
| Line 95: | Line 100: | ||
| * ng_mppc | * ng_mppc | ||
| * ng_pipe | * ng_pipe | ||
| + | |||
| + | === if_bridge === | ||
| + | if_bridge(4), | ||
| + | [[https:// | ||
| + | |||
| === Firewalls === | === Firewalls === | ||
| Firewalling is possibly the one major reasons to use software router on 10G+ links. | Firewalling is possibly the one major reasons to use software router on 10G+ links. | ||
| Line 131: | Line 141: | ||
| * Quagga. Famous cisco-like daemon. | * Quagga. Famous cisco-like daemon. | ||
| * bird. Juniper-like configs, multiple kernel tables, ability to filter kernel routes | * bird. Juniper-like configs, multiple kernel tables, ability to filter kernel routes | ||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||