Brendan Gregg | 12c234f | 2020-09-16 14:34:29 -0700 | [diff] [blame] | 1 | Demonstrations of tcpsynbl, the Linux BCC/eBPF version. |
| 2 | |
| 3 | |
| 4 | This tool shows the TCP SYN backlog size during SYN arrival as a histogram. |
| 5 | This lets you see how close your applications are to hitting the backlog limit |
| 6 | and dropping SYNs (causing performance issues with SYN retransmits). For |
| 7 | example: |
| 8 | |
| 9 | # ./tcpsynbl.py |
| 10 | Tracing SYN backlog size. Ctrl-C to end. |
| 11 | ^C |
| 12 | |
| 13 | backlog_max = 500L |
| 14 | backlog : count distribution |
| 15 | 0 -> 1 : 961 |****************************************| |
| 16 | 2 -> 3 : 1 | | |
| 17 | |
| 18 | This output shows that for the backlog limit of 500, there were 961 SYN |
| 19 | arrival where the backlog was zero or one, and one accept where the backlog was |
| 20 | two or three. This indicates that we are nowhere near this limit. |
Hariharan Ananthakrishnan | 04893e3 | 2021-08-12 05:55:21 -0700 | [diff] [blame] | 21 | |
| 22 | USAGE: |
| 23 | |
| 24 | # ./tcpsynbl -h |
| 25 | usage: tcpsynbl.py [-h] [-4 | -6] |
| 26 | |
| 27 | Show TCP SYN backlog. |
| 28 | |
| 29 | optional arguments: |
| 30 | -h, --help show this help message and exit |
| 31 | -4, --ipv4 trace IPv4 family only |
| 32 | -6, --ipv6 trace IPv6 family only |
| 33 | |
| 34 | examples: |
| 35 | ./tcpsynbl # trace syn backlog |
| 36 | ./tcpsynbl -4 # trace IPv4 family only |
| 37 | ./tcpsynbl -6 # trace IPv6 family only |