рдХреЗрд╣реА рд╡рд░реНрд╖рдЕрдШрд┐ рдХреБрдмреЗрд░рдиреЗрдЯ
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛, рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрд▓реЗ 100ms рд╡рд╛ рдмрдвреАрд╕рдореНрдордХреЛ рдЕрдирд┐рдпрдорд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдореНрдмрддрд╛рдХреЛ рдЕрдиреБрднрд╡ рдЧрд░реНрджрдЫ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд╛ рдкреБрди: рдкреНрд░рдпрд╛рд╕рд╣рд░реВ рд╣реБрдиреНрдЫрдиреНред рд╕реЗрд╡рд╛рд╣рд░реВрд▓реЗ 100ms рднрдиреНрджрд╛ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдЬрд╡рд╛рдл рджрд┐рди рд╕рдХреНрд╖рдо рд╣реБрдиреЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рддрд░ рдпреЛ рдЕрд╕рдореНрднрд╡ рдЫ рдпрджрд┐ рдЬрдбрд╛рди рдЖрдлреИрд▓реЗ рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдиреНрдЫред рдЕрд▓рдЧ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдб рд▓рд┐рди рдкрд░реНрдиреЗ рдзреЗрд░реИ рдЫрд┐рдЯреЛ MySQL рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрд╡рд▓реЛрдХрди рдЧрд░реНтАНрдпреМрдВ, рд░ MySQL рд▓реЗ рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдкреВрд░рд╛ рдЧрд░реНтАНрдпреЛ, рддрд░ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдпрдорд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд▓реЗ 100 ms рд╡рд╛ рдмрдвреА рд▓рд┐рдпреЛред
рдпреЛ рддреБрд░реБрдиреНрддреИ рд╕реНрдкрд╖реНрдЯ рднрдпреЛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ Kubernetes рдиреЛрдбрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрд╛ рдорд╛рддреНрд░ рднрдПрдХреЛ рдерд┐рдпреЛ, рдХрд▓ Kubernetes рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдЖрдП рдкрдирд┐ред рд╕рдорд╕реНрдпрд╛ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ рдкрд░реАрдХреНрд╖рдгрдорд╛ рдЫ
рдЕрд╕рдлрд▓рддрд╛ рдирд┐рдореНрддреНрдпрд╛рдЙрдиреЗ рд╢реНрд░реГрдВрдЦрд▓рд╛рдорд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛ рд╣рдЯрд╛рдЙрдиреЗ
рдЙрд╣реА рдЙрджрд╛рд╣рд░рдг рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрд░, рд╣рд╛рдореА рд╕рдорд╕реНрдпрд╛рдХреЛ рдлреЛрдХрд╕рд▓рд╛рдИ рд╕рдВрдХреАрд░реНрдг рдЧрд░реНрди рд░ рдЬрдЯрд┐рд▓рддрд╛рдХрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрд╣рд╣рд░реВ рд╣рдЯрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рдкреНрд░рд╛рд░рдореНрднрдорд╛, рддрд░рдХрд╛рд░реА рд░ рдХреБрдмрд░реНрдиреЗрдЯ рдкреЛрдбрд╣рд░реВ рдмреАрдЪрдХреЛ рдкреНрд░рд╡рд╛рд╣рдорд╛ рдзреЗрд░реИ рддрддреНрд╡рд╣рд░реВ рдерд┐рдПред рдЧрд╣рд┐рд░реЛ рд╕рдЮреНрдЬрд╛рд▓ рд╕рдорд╕реНрдпрд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рддреА рдордзреНрдпреЗ рдХреЗрд╣реАрд▓рд╛рдИ рд╢рд╛рд╕рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
рдХреНрд▓рд╛рдЗрдиреНрдЯ (Vegeta) рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдХреБрдиреИ рдкрдирд┐ рдиреЛрдбрд╕рдБрдЧ TCP рдЬрдбрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред Kubernetes рд▓реЗ рдУрднрд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ (рдЕрд╡рд╕реНрдерд┐рдд рдбрд╛рдЯрд╛ рд╕реЗрдиреНрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рд╢реАрд░реНрд╖рдорд╛) рдЬреБрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ
рдЙрдкрдпреЛрдЧрд┐рддрд╛ tcpdump
Vegeta рдкрд░реАрдХреНрд╖рдгрдорд╛ TCP рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХ (SYN рд░ SYN-ACK рдмреАрдЪ) рдХреЛ рд╕рдордпрдорд╛ рдврд┐рд▓рд╛рдЗ рд╣реБрдиреНрдЫред рдпреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛ рд╣рдЯрд╛рдЙрди, рддрдкрд╛рдИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ hping3
SYN рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рд╕рд░рд▓ "рдкрд┐рдЩрд╣рд░реВ" рдХреЛ рд▓рд╛рдЧрд┐ред рд╣рд╛рдореА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрдпрд╛рдХреЗрдЯрдорд╛ рдврд┐рд▓рд╛рдЗ рднрдПрдХреЛ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЬрдбрд╛рди рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА рдбрд╛рдЯрд╛ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдХреЗрд╡рд▓ 100ms рднрдиреНрджрд╛ рдареВрд▓рд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд░ Vegeta рдХреЛ рдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХ рддрд╣ 7 рдкрд░реАрдХреНрд╖рдг рднрдиреНрджрд╛ рд╕рдорд╕реНрдпрд╛ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиред рдпрд╣рд╛рдБ 30927ms рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВрдорд╛ рд╕реЗрд╡рд╛ "рдиреЛрдб рдкреЛрд░реНрдЯ" (10) рдорд╛ TCP SYN/SYN-ACK рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рдиреЛрдб "рдкрд┐рдЩрд╣рд░реВ" рдЫрдиреН, рд╕рдмреИрднрдиреНрджрд╛ рдврд┐рд▓реЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдлрд┐рд▓реНрдЯрд░ рдЧрд░рд┐рдПрдХреЛ:
theojulienne@shell ~ $ sudo hping3 172.16.47.27 -S -p 30927 -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1485 win=29200 rtt=127.1 ms
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1486 win=29200 rtt=117.0 ms
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1487 win=29200 rtt=106.2 ms
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1488 win=29200 rtt=104.1 ms
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=5024 win=29200 rtt=109.2 ms
len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=5231 win=29200 rtt=109.2 ms
рддреБрд░реБрдиреНрддреИ рдкрд╣рд┐рд▓реЛ рдЕрд╡рд▓реЛрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд░ рд╕рдордпрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдиреНрдпрд╛рдп рдЧрд░реНрджреИ, рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ рдпреА рдПрдХ рдкрдЯрдХрдХреЛ рднреАрдбрд╣рд░реВ рд╣реЛрдЗрдирдиреНред рдврд┐рд▓рд╛рдЗ рдкреНрд░рд╛рдпрдГ рдЬрдореНрдорд╛ рд╣реБрдиреНрдЫ рд░ рдЕрдиреНрддрддрдГ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред
рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рднреАрдбрдХреЛ рдШрдЯрдирд╛рдорд╛ рдХреБрди рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕рдВрд▓рдЧреНрди рд╣реБрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рд╣реБрдирд╕рдХреНрдЫ рдпреА NAT рдорд╛ рд╕рдпреМрдВ iptables рдирд┐рдпрдорд╣рд░реВ рд╣реБрдиреН? рд╡рд╛ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ IPIP рдЯрдиреЗрд▓рд┐рдЩрдХреЛ рд╕рд╛рде рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫ? рдпрд╕рд▓рд╛рдИ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рддрд░рд┐рдХрд╛ рднрдиреЗрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдгрд▓рд╛рдИ рдореЗрдЯрд╛рдПрд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреБ рд╣реЛред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ NAT рд░ рдлрд╛рдпрд░рд╡рд╛рд▓ рддрд░реНрдХ рд╣рдЯрд╛рдЙрдиреБрднрдпреЛ рднрдиреЗ, IPIP рднрд╛рдЧ рдорд╛рддреНрд░ рдЫреЛрдбреЗрд░ рдХреЗ рд╣реБрдиреНрдЫ:
рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рдпрджрд┐ рдореЗрд╕рд┐рди рдПрдЙрдЯреИ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдЫ рднрдиреЗ рд▓рд┐рдирдХреНрд╕рд▓реЗ рдЖрдИрдкреА рдУрднрд░рд▓реЗ рддрд╣рд▓рд╛рдИ рд╕реАрдзрд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫ:
theojulienne@kube-node-client ~ $ sudo hping3 10.125.20.64 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7346 win=0 rtt=127.3 ms
len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7347 win=0 rtt=117.3 ms
len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7348 win=0 rtt=107.2 ms
рдирддрд┐рдЬрд╛ рд╣реЗрд░реНрджрд╛, рд╕рдорд╕реНрдпрд╛ рдЕрдЭреИ рдмрд╛рдБрдХреА рдЫ! рдпрд╕рд▓реЗ iptables рд░ NAT рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрдиред рддреНрдпрд╕реЛрднрдП рд╕рдорд╕реНрдпрд╛ TCP рд╣реЛ? рдПрдХ рдирд┐рдпрдорд┐рдд ICMP рдкрд┐рдВрдЧ рдХрд╕рд░реА рдЬрд╛рдиреНрдЫ рд╣реЗрд░реМрдВ:
theojulienne@kube-node-client ~ $ sudo hping3 10.125.20.64 --icmp -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
len=28 ip=10.125.20.64 ttl=64 id=42594 icmp_seq=104 rtt=110.0 ms
len=28 ip=10.125.20.64 ttl=64 id=49448 icmp_seq=4022 rtt=141.3 ms
len=28 ip=10.125.20.64 ttl=64 id=49449 icmp_seq=4023 rtt=131.3 ms
len=28 ip=10.125.20.64 ttl=64 id=49450 icmp_seq=4024 rtt=121.2 ms
len=28 ip=10.125.20.64 ttl=64 id=49451 icmp_seq=4025 rtt=111.2 ms
len=28 ip=10.125.20.64 ttl=64 id=49452 icmp_seq=4026 rtt=101.1 ms
len=28 ip=10.125.20.64 ttl=64 id=50023 icmp_seq=4343 rtt=126.8 ms
len=28 ip=10.125.20.64 ttl=64 id=50024 icmp_seq=4344 rtt=116.8 ms
len=28 ip=10.125.20.64 ttl=64 id=50025 icmp_seq=4345 rtt=106.8 ms
len=28 ip=10.125.20.64 ttl=64 id=59727 icmp_seq=9836 rtt=106.1 ms
рдирддрд┐рдЬрд╛рд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рдЯреЗрдХреЛ рдЫреИрдиред рд╕рд╛рдпрдж рдпреЛ IPIP рд╕реБрд░реБрдЩ рд╣реЛ? рдкрд░реАрдХреНрд╖рдгрд▓рд╛рдИ рдердк рд╕рд░рд▓ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН:
рдХреЗ рдпреА рджреБрдИ рд╣реЛрд╕реНрдЯрд╣рд░реВ рдмреАрдЪ рд╕рдмреИ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкрдард╛рдЗрдиреНрдЫ?
theojulienne@kube-node-client ~ $ sudo hping3 172.16.47.27 --icmp -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
len=46 ip=172.16.47.27 ttl=61 id=41127 icmp_seq=12564 rtt=140.9 ms
len=46 ip=172.16.47.27 ttl=61 id=41128 icmp_seq=12565 rtt=130.9 ms
len=46 ip=172.16.47.27 ttl=61 id=41129 icmp_seq=12566 rtt=120.8 ms
len=46 ip=172.16.47.27 ttl=61 id=41130 icmp_seq=12567 rtt=110.8 ms
len=46 ip=172.16.47.27 ttl=61 id=41131 icmp_seq=12568 rtt=100.7 ms
len=46 ip=172.16.47.27 ttl=61 id=9062 icmp_seq=31443 rtt=134.2 ms
len=46 ip=172.16.47.27 ttl=61 id=9063 icmp_seq=31444 rtt=124.2 ms
len=46 ip=172.16.47.27 ttl=61 id=9064 icmp_seq=31445 rtt=114.2 ms
len=46 ip=172.16.47.27 ttl=61 id=9065 icmp_seq=31446 rtt=104.2 ms
рд╣рд╛рдореАрд▓реЗ рдПрдХрдЕрд░реНрдХрд╛рд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рдкреНрдпрд╛рдХреЗрдЯ, ICMP рдкрд┐рдЩ рдкрдард╛рдЙрдиреЗ рджреБрдИ Kubernetes рдиреЛрдбрд╣рд░реВрдорд╛ рд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рд╕рд░рд▓реАрдХреГрдд рдЧрд░реЗрдХрд╛ рдЫреМрдВред рдпрджрд┐ рд▓рдХреНрд╖рд┐рдд рд╣реЛрд╕реНрдЯ "рдЦрд░рд╛рдм" рдЫ рднрдиреЗ рддрд┐рдиреАрд╣рд░реВ рдЕрдЭреИ рдкрдирд┐ рд╡рд┐рд▓рдореНрдмрддрд╛ рджреЗрдЦреНрдЫрдиреН (рдХреЗрд╣реА рдЕрд░реВ рднрдиреНрджрд╛ рдЦрд░рд╛рдм)ред
рдЕрдм рдЕрдиреНрддрд┐рдо рдкреНрд░рд╢реНрди: рдХрд┐рди рдврд┐рд▓рд╛рдЗ рдХреНрдпреБрдмреЗ-рдиреЛрдб рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╣реБрдиреНрдЫ? рд░ рдХреЗ рдпреЛ рд╣реБрдиреНрдЫ рдЬрдм kube-node рдкреНрд░реЗрд╖рдХ рд╡рд╛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╣реЛ? рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, Kubernetes рдмрд╛рд╣рд┐рд░ рдПрдХ рд╣реЛрд╕реНрдЯрдмрд╛рдЯ рдкреНрдпрд╛рдХреЗрдЯ рдкрдард╛рдПрд░ рдпреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдкрдирд┐ рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫ, рддрд░ рдЙрд╣реА "рдЬреНрдЮрд╛рдд рдЦрд░рд╛рдм" рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рд╕рдБрдЧред рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕рдорд╕реНрдпрд╛ рд╣рд░рд╛рдПрдХреЛ рдЫреИрди:
theojulienne@shell ~ $ sudo hping3 172.16.47.27 -p 9876 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=312 win=0 rtt=108.5 ms
len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=5903 win=0 rtt=119.4 ms
len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=6227 win=0 rtt=139.9 ms
len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=7929 win=0 rtt=131.2 ms
рд╣рд╛рдореА рддреНрдпрд╕рдкрдЫрд┐ рдЕрдШрд┐рд▓реНрд▓реЛ рд╕реНрд░реЛрдд рдХреНрдпреБрдм-рдиреЛрдбрдмрд╛рдЯ рдмрд╛рд╣реНрдп рд╣реЛрд╕реНрдЯрдорд╛ рдЙрд╣реА рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗрдЫреМрдВ (рдЬрд╕рд▓реЗ рд╕реНрд░реЛрдд рд╣реЛрд╕реНрдЯрд▓рд╛рдИ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрди рдХрд┐рдирднрдиреЗ рдкрд┐рдЩрд▓реЗ RX рд░ TX рджреБрд╡реИ рдШрдЯрдХ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ):
theojulienne@kube-node-client ~ $ sudo hping3 172.16.33.44 -p 9876 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
^C
--- 172.16.33.44 hping statistic ---
22352 packets transmitted, 22350 packets received, 1% packet loss
round-trip min/avg/max = 0.2/7.6/1010.6 ms
рд╡рд┐рд▓рдореНрдмрддрд╛ рдкреНрдпрд╛рдХреЗрдЯ рдХреНрдпрд╛рдкреНрдЪрд░рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реЗрд░, рд╣рд╛рдореАрд▓реЗ рдХреЗрд╣реА рдердк рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреМрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛, рдХрд┐ рдкреНрд░реЗрд╖рдХ (рддрд▓) рд▓реЗ рдпреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреЗрдЦреНрдЫ, рддрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рд╢реАрд░реНрд╖) рд▓реЗ рдЧрд░реНрджреИрди - рдбреЗрд▓реНрдЯрд╛ рд╕реНрддрдореНрдн (рд╕реЗрдХреЗрдиреНрдбрдорд╛) рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН:
рдердк рд░реВрдкрдорд╛, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рд╛рдкрдХ рдкрдХреНрд╖рдорд╛ TCP рд░ ICMP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ (рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛) рдХреЛ рдХреНрд░рдордорд╛ рднрд┐рдиреНрдирддрд╛ рд╣реЗрд░реНрдиреБрднрдпреЛ рднрдиреЗ, ICMP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рдзреИрдВ рдЙрд╣реА рдЕрдиреБрдХреНрд░рдордорд╛ рдЖрдЗрдкреБрдЧреНрдЫрдиреН рдЬрд╕рдорд╛ рддрд┐рдиреАрд╣рд░реВ рдкрдард╛рдЗрдПрдХрд╛ рдерд┐рдП, рддрд░ рдлрд░рдХ рд╕рдордпрдХрд╛ рд╕рд╛рдеред рдПрдХреИ рд╕рдордпрдорд╛, TCP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдЫрдиреН, рд░ рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдХреЗрд╣реА рдЕрдбреНрдХрд┐рдиреНрдЫрдиреНред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ SYN рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рдкреЛрд░реНрдЯрд╣рд░реВ рдЬрд╛рдБрдЪреНрдиреБрднрдпреЛ рднрдиреЗ, рддрд┐рдиреАрд╣рд░реВ рдкреНрд░реЗрд╖рдХрдХреЛ рдкрдХреНрд╖рдорд╛ рдХреНрд░рдордмрджреНрдз рдЫрдиреН, рддрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдХреЛ рдкрдХреНрд╖рдорд╛ рдЫреИрдирдиреНред
рдХрд╕рд░реА рдорд╛ рдПрдХ рд╕реВрдХреНрд╖реНрдо рднрд┐рдиреНрдирддрд╛ рдЫ
рдЕрд░реНрдХреЛ рдирдпрд╛рдБ рдЕрд╡рд▓реЛрдХрди: рдпрд╕ рдЕрд╡рдзрд┐рдорд╛ рд╣рд╛рдореА рджреБрдИ рд╣реЛрд╕реНрдЯрд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдмреИ рд╕рдЮреНрдЪрд╛рд░рд╣рд░реВрдорд╛ ICMP рдврд┐рд▓рд╛рдЗ рджреЗрдЦреНрдЫреМрдВ, рддрд░ TCP рд▓реЗ рдЧрд░реНрджреИрдиред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ RX рд▓рд╛рдо рд╣реНрдпрд╛рд╕рд┐рдЩрд╕рдБрдЧ рд╕рдореНрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рднрдиреА рдмрддрд╛рдЙрдБрдЫ: рднреАрдб рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ RX рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрдирдорд╛ рдЫ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкрдард╛рдЙрдирдорд╛ рд╣реЛрдЗрдиред
рдпрд╕рд▓реЗ рд╕рдореНрднрд╛рд╡рд┐рдд рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдмрд╛рдЯ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкрдард╛рдЙрди рд╣рдЯрд╛рдЙрдБрдЫред рд╣рд╛рдореАрд▓рд╛рдИ рдЕрдм рдерд╛рд╣рд╛ рдЫ рдХрд┐ рдкреНрдпрд╛рдХреЗрдЯ рдкреНрд░рд╢реЛрдзрди рд╕рдорд╕реНрдпрд╛ рдХреЗрд╣реА рдХреНрдпреБрдм-рдиреЛрдб рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдкреНрд░рд╛рдкреНрдд рдкрдХреНрд╖рдорд╛ рдЫред
рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдкреНрдпрд╛рдХреЗрдЯ рдкреНрд░рд╢реЛрдзрди рдмреБрдЭреНрджреИ
рдХреЗрд╣рд┐ рдХреНрдпреБрдм-рдиреЛрдб рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рд░рд┐рд╕реАрднрд░рдорд╛ рдХрд┐рди рд╕рдорд╕реНрдпрд╛ рд╣реБрдиреНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рд▓реЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдЫ рд╣реЗрд░реМрдВред
рд╕рд░рд▓ рдкрд░рдореНрдкрд░рд╛рдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдлрд░реНрдХреЗрд░, рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбрд▓реЗ рдкреНрдпрд╛рдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ рд░ рдкрдард╛рдЙрдБрдЫ
рдпреЛ рдХрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реНрд╡рд┐рдЪрд┐рдЩ рдврд┐рд▓реЛ рдЫ: 10 рдХреЛ рджрд╢рдХрдорд╛ 90Mbps рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбрд╣рд░реВрдорд╛ рд╡рд┐рд▓рдореНрдмрддрд╛ рджреЗрдЦреНрди рдирд╕рдХреНрдиреЗ рд╣реБрди рд╕рдХреНрдЫ, рддрд░ рдЖрдзреБрдирд┐рдХ 10G рдХрд╛рд░реНрдбрд╣рд░реВрдорд╛ рдЕрдзрд┐рдХрддрдо рдереНрд░реБрдкреБрдЯ 15 рдорд┐рд▓рд┐рдпрди рдкреНрдпрд╛рдХреЗрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдбрдорд╛, рд╕рд╛рдиреЛ рдЖрда-рдХреЛрд░ рд╕рд░реНрднрд░рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рд▓рд╛рдЦреМрдВ рдЕрд╡рд░реЛрдз рд╣реБрди рд╕рдХреНрдЫред рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб рдкрдЯрдХред
рд▓рдЧрд╛рддрд╛рд░ рдЕрд╡рд░реЛрдзрд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдирдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдзреЗрд░реИ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдердкрд┐рдпреЛ
рдпреЛ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдЫ, рддрд░ рдлрд░рдХ рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫред рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЫрдиреН рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИ рд╕рдордп рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбрдмрд╛рдЯ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдЦрд░реНрдЪ рдЧрд░рд┐рдиреНрдЫ, рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрд╕рдБрдЧ рдпреА рд▓рд╛рдорд╣рд░реВ рдЦрд╛рд▓реА рдЧрд░реНрди рд╕рдордп рд╣реБрдБрджреИрди (TCP рдЬрдбрд╛рдирд╣рд░реВ, рдЖрджрд┐рдмрд╛рдЯ рдкрдвреНрджреИ)ред рдЕрдиреНрддрддрдГ рд▓рд╛рдорд╣рд░реВ рднрд░рд┐рдиреНрдЫ рд░ рд╣рд╛рдореА рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЫреЛрдбреНрди рдерд╛рд▓реНрдЫреМрдВред рд╕рдиреНрддреБрд▓рди рдЦреЛрдЬреНрдиреЗ рдкреНрд░рдпрд╛рд╕рдорд╛, рдХрд░реНрдиреЗрд▓рд▓реЗ softirq рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХрд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдмрдЬреЗрдЯ рд╕реЗрдЯ рдЧрд░реНрджрдЫред рдпреЛ рдмрдЬреЗрдЯ рдирд╛рдШреЗрдкрдЫрд┐ рдЫреБрдЯреНрдЯреИ рдереНрд░реЗрдб рдЬрд╛рдЧреНрдЫ ksoftirqd
(рддрдкрд╛рдИрд▓реЗ рддреА рдордзреНрдпреЗ рдПрдХ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫ ps
рдкреНрд░рддрд┐ рдХреЛрд░) рдЬрд╕рд▓реЗ рдпреА softirqs рд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп syscall/inrupt path рдмрд╛рд╣рд┐рд░ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрдЫред рдпреЛ рдереНрд░реЗрдб рдорд╛рдирдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд╕реВрдЪрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрд╕реВрдЪрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВ рдЙрдЪрд┐рдд рд░реВрдкрдорд╛ рдмрд╛рдБрдбрдлрд╛рдБрдб рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред
рдХрд░реНрдиреЗрд▓рд▓реЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдЕрдзреНрдпрдпрди рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рддрдкрд╛рдИрдВрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рднреАрдб рд╣реБрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдореНрднрд╛рд╡рдирд╛ рдЫред рдпрджрд┐ softirq рдХрд▓рд╣рд░реВ рдХрдо рдмрд╛рд░рдореНрдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреНрдЫрдиреН рднрдиреЗ, рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбрдорд╛ RX рд▓рд╛рдордорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдХреЗрд╣реА рд╕рдордп рдкрд░реНрдЦрдиреБрдкрд░реНрдЫред рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдмреНрд▓рдХ рдЧрд░реНрдиреЗ рдХреЗрд╣рд┐ рдХрд╛рд░реНрдпрдХреЛ рдХрд╛рд░рдг рд╣реБрди рд╕рдХреНрдЫ, рд╡рд╛ рдЕрдиреНрдп рдХреЗрд╣рд┐ рдХреЛрд░ рд▓рд╛рдИ softirq рдЪрд▓реНрдирдмрд╛рдЯ рд░реЛрдХрд┐рд░рд╣реЗрдХреЛ рдЫред
рдкреНрд░рд╢реЛрдзрдирд▓рд╛рдИ рдХреЛрд░ рд╡рд╛ рд╡рд┐рдзрд┐рдорд╛ рд╕рдВрдХреБрдЪрд┐рдд рдЧрд░реНрджреИ
Softirq рдврд┐рд▓рд╛рдЗ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдорд╛рди рдорд╛рддреНрд░ рд╣реЛред рддрд░ рдпрд╕рд▓реЗ рдЕрд░реНрде рд░рд╛рдЦреНрдЫ, рд░ рд╣рд╛рдореАрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рд╣рд╛рдореА рдХреЗрд╣рд┐ рдзреЗрд░реИ рд╕рдорд╛рди рджреЗрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред рддреНрдпрд╕реИрд▓реЗ рдЕрд░реНрдХреЛ рдЪрд░рдг рдпреЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд рдкреБрд╖реНрдЯрд┐ рдЧрд░реНрди рд╣реЛред рд░ рдпрджрд┐ рдпреЛ рдкреБрд╖реНрдЯрд┐ рднрдпреЛ рднрдиреЗ, рдврд┐рд▓рд╛рдЗрдХреЛ рдХрд╛рд░рдг рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реНред
рд╣рд╛рдореНрд░реЛ рдврд┐рд▓реЛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдорд╛ рдлрд░реНрдХреМрдВ:
len=46 ip=172.16.53.32 ttl=61 id=29573 icmp_seq=1953 rtt=99.3 ms
len=46 ip=172.16.53.32 ttl=61 id=29574 icmp_seq=1954 rtt=89.3 ms
len=46 ip=172.16.53.32 ttl=61 id=29575 icmp_seq=1955 rtt=79.2 ms
len=46 ip=172.16.53.32 ttl=61 id=29576 icmp_seq=1956 rtt=69.1 ms
len=46 ip=172.16.53.32 ttl=61 id=29577 icmp_seq=1957 rtt=59.1 ms
len=46 ip=172.16.53.32 ttl=61 id=29790 icmp_seq=2070 rtt=75.7 ms
len=46 ip=172.16.53.32 ttl=61 id=29791 icmp_seq=2071 rtt=65.6 ms
len=46 ip=172.16.53.32 ttl=61 id=29792 icmp_seq=2072 rtt=55.5 ms
рдкрд╣рд┐рд▓реЗ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдЭреИрдВ, рдпреА ICMP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдПрдХрд▓ RX NIC рдХрддрд╛рд░рдорд╛ рд╣реНрдпрд╛рд╢ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ рдПрдХрд▓ CPU рдХреЛрд░рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред рдпрджрд┐ рд╣рд╛рдореА рд▓рд┐рдирдХреНрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рднрдиреЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╣рд╛рдБ (рдХреБрди CPU рдХреЛрд░рдорд╛) рд░ рдХрд╕рд░реА (softirq, ksoftirqd) рдпреА рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ рднрдиреЗрд░ рдЬрд╛рдиреНрди рдЙрдкрдпреЛрдЧреА рд╣реБрдиреНрдЫред
рдЕрдм рдпреЛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдордп рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рд▓рд╛рдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордпрдорд╛ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрд╣рд╛рдБ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВ
рдпрд╣рд╛рдБ рдпреЛрдЬрдирд╛ рд╕рд░рд▓ рдЫ: рд╣рд╛рдореАрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рдХрд░реНрдиреЗрд▓рд▓реЗ рдпреА ICMP рдкрд┐рдВрдЧрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдХрд░реНрдиреЗрд▓ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рд╣реБрдХ рд░рд╛рдЦреНрдиреЗрдЫреМрдВред hping3
рдЙрдЪреНрдЪред
рдХреЛрдб icmp_echo
рдмреБрдЭрд╛рдЙрдБрдЫ struct sk_buff *skb
: рдпреЛ "рдЗрдХреЛ рдЕрдиреБрд░реЛрдз" рднрдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЯ рд╣реЛред рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдХреНрд░рдо рдмрд╛рд╣рд┐рд░ рдирд┐рдХрд╛рд▓реНрди рд╕рдХреНрдЫреМрдВ echo.sequence
(рдЬреБрдирд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрджрдЫ icmp_seq
hping3 рджреНрд╡рд╛рд░рд╛ ╨▓╤Л╤И╨╡
), рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред рд╣рд╛рд▓рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╛рдо/рдЖрдИрдбреА рдХреНрдпрд╛рдкреНрдЪрд░ рдЧрд░реНрди рдпреЛ рдкрдирд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред рдХрд░реНрдиреЗрд▓рд▓реЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рджреЗрдЦреНрдиреЗ рдирддрд┐рдЬрд╛рд╣рд░реВ рддрд▓ рдЫрдиреН:
TGID PID рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╛рдо ICMP_SEQ 0 0 swapper/11 770 0 0 swapper/11 771 0 0 swapper/11 772 0 0 swapper/11 773 0 0 swapper/11 774 20041 20086 swapper/775 0 0me 11s рез ренренрем реж реж рд╕реНрд╡реИрдкрд░/рез 776 0 0 11 рд╕реНрд╡реИрдкрд░/777 0 0 11 рдкреНрд░рд╡рдХреНрддрд╛-рд░рд┐рдкреЛрд░реНрдЯ-рдПрд╕ 778
рд╕рдиреНрджрд░реНрднрдорд╛ рдпрд╣рд╛рдБ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрдиреБрдкрд░реНрдЫ softirq
рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ "рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ" рдХреЛ рд░реВрдкрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрдиреЗрдЫ рдЬрдм рд╡рд╛рд╕реНрддрд╡рдорд╛ рдпреЛ рдХрд░реНрдиреЗрд▓ рд╣реЛ рдЬрд╕рд▓реЗ рдХрд░реНрдиреЗрд▓рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫред
рдпрд╕ рдЙрдкрдХрд░рдгрдХреЛ рд╕рд╛рде рд╣рд╛рдореА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрд╕рдБрдЧ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рдореНрдмрджреНрдз рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдЬрд╕рд▓реЗ рдврд┐рд▓рд╛рдЗ рджреЗрдЦрд╛рдЙрдБрджрдЫ hping3
ред рдпрд╕рд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН grep
рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдХреНрдпрд╛рдкреНрдЪрд░рдорд╛ icmp_seq
ред рдорд╛рдерд┐рдХреЛ icmp_seq рдорд╛рдирд╣рд░реВрд╕рдБрдЧ рдорд┐рд▓реНрдиреЗ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╣рд╛рдореАрд▓реЗ рдорд╛рдерд┐ рдЕрд╡рд▓реЛрдХрди рдЧрд░реЗрдХрд╛ RTT рд╕рдБрдЧрд╕рдБрдЧреИ рдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ (рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ RTT рдорд╛рдирд╣рд░реВ 50 ms рднрдиреНрджрд╛ рдХрдордХреЛ рдХрд╛рд░рдгрд▓реЗ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реЗрдХрд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд RTT рдорд╛рдирд╣рд░реВ рд╣реБрдиреН):
TGID PID рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╛рдо ICMP_SEQ ** RTT -- 10137 10436 cadvisor 1951 10137 10436 cadvisor 1952 76 76 ksoftirqd/11 1953 ** 99ms 76 76 d11 softq ** 1954ms 89 d76 soft ir qd/76 11 ** 1955ms 79 76 ksoftirqd/ 76 11 ** 1956ms 69 76 ksoftirqd/76 11 ** 1957ms 59 76 ksoftirqd/76 11 ** (1958ms) 49 76 ksoftirqd/76 11 ** (1959ms) 39 ksoftirqd/76 76 ** (11ms) 1960 ksoftirqd/29ms** (76ms) 76 ksoftirqd/11ms** 1961 ksoft irqd/ 19 76 ** (76ms) 11 1962 ksoftirqd/9 10137 ** (10436ms) -- 2068 10137 cadvisor 10436 2069 76 cadvisor 76 11 2070 ksoftirqd/75 76 softir** qd/76 11 ** 2071ms 65 76 ksoftirqd/ 76 11 ** 2072ms 55 76 ksoftirqd/76 11 ** (2073ms) 45 76 ksoftirqd/76 11 ** (2074ms) 35 76 ksoftirqd/76 11 ** (2075ms ** (25ms) ms ) ренрем ренрем ksoftirqd/76 76 ** (11ms)
рдкрд░рд┐рдгрд╛рдорд╣рд░реВрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдзреЗрд░реИ рдХреБрд░рд╛рд╣рд░реВ рдмрддрд╛рдЙрдБрдЫрдиреНред рдкрд╣рд┐рд▓реЛ, рдпреА рд╕рдмреИ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕рдиреНрджрд░реНрднрджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ ksoftirqd/11
ред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рдореЗрд╕рд┐рдирд╣рд░реВрдХреЛ рдпреЛ рд╡рд┐рд╢реЗрд╖ рдЬреЛрдбреАрдХреЛ рд▓рд╛рдЧрд┐, ICMP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдЕрдиреНрддрдорд╛ рдХреЛрд░ 11 рдорд╛ рд╣реНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рд╣рд╛рдореА рдпреЛ рдкрдирд┐ рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдЬрдм рддреНрдпрд╣рд╛рдБ рдЬрд╛рдо рд╣реБрдиреНрдЫ, рддреНрдпрд╣рд╛рдБ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЫрдиреН рдЬреБрди рдкреНрд░рдгрд╛рд▓реА рдХрд▓рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред cadvisor
... рддреНрдпрд╕реЛ рднрдП ksoftirqd
рдХрд╛рд░реНрдп рд▓рд┐рдиреНрдЫ рд░ рд╕рдВрдЪрд┐рдд рдХрддрд╛рд░рд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫ: рдареНрдпрд╛рдХреНрдХреИ рдкрдЫрд┐ рдЬрдореНрдорд╛ рднрдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ cadvisor
.
рдпреЛ рддреБрд░реБрдиреНрддреИ рдЕрдШрд┐ рд╕рдзреИрдВ рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреНрдиреЗ рддрдереНрдп cadvisor
, рд╕рдорд╕реНрдпрд╛рдорд╛ рдЙрдирдХреЛ рд╕рдВрд▓рдЧреНрдирддрд╛ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рд╡рд┐рдбрдореНрдмрдирд╛, рдЙрджреНрджреЗрд╢реНрдп
рдХрдиреНрдЯреЗрдирд░рдХрд╛ рдЕрдиреНрдп рдкрдХреНрд╖рд╣рд░реВ рдЬрд╕реНрддреИ, рдпреА рд╕рдмреИ рдЙрдЪреНрдЪ рдЙрдиреНрдирдд рдЙрдкрдХрд░рдгрд╣рд░реВ рд╣реБрдиреН рд░ рдХреЗрд╣реА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЕрдиреБрднрд╡ рдЧрд░реНрдиреЗ рдЖрд╢рд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░рд▓реЗ рдХреЗ рдЧрд░реНрдЫ рдЬрд╕рд▓реЗ рдкреНрдпрд╛рдХреЗрдЯ рд▓рд╛рдорд▓рд╛рдИ рд╕реБрд╕реНрдд рдмрдирд╛рдЙрдБрдЫ?
рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдм рдХрд╕рд░реА рдХреНрд░реНрдпрд╛рд╕ рд╣реБрдиреНрдЫ, рдХреБрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдпреЛ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ, рд░ рдХреБрди CPU рдорд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреЗрдХреЛ рдЫред рд╣рд╛рдореА рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдХрдбрд╛ рдЕрд╡рд░реБрджреНрдзрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рд╕рдБрдЧ рд╕рдордп рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдЙрди рдЫреИрди ksoftirqd
ред рд░ рд╣рд╛рдореА рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ cadvisor
ред рдпреЛ рдорд╛рдиреНрди рддрд╛рд░реНрдХрд┐рдХ рдЫ cadvisor
рдПрдХ рдврд┐рд▓реЛ syscall рд╕реБрд░реБ рдЧрд░реНрджрдЫ, рдЬрд╕ рдкрдЫрд┐ рддреНрдпрд╕ рд╕рдордпрдорд╛ рд╕рдВрдЪрд┐рдд рд╕рдмреИ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ:
рдпреЛ рдПрдХ рд╕рд┐рджреНрдзрд╛рдиреНрдд рд╣реЛ, рддрд░ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗ? рд╣рд╛рдореАрд▓реЗ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ CPU рдХреЛрд░ рдЯреНрд░реЗрд╕ рдЧрд░реНрди, рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдЬреЗрдЯ рднрдиреНрджрд╛ рдмрдвреА рдЬрд╛рдиреНрдЫ рд░ ksoftirqd рднрдирд┐рдиреНрдЫ рднрдиреНрдиреЗ рдмрд┐рдиреНрджреБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпреЛ рдмрд┐рдиреНрджреБ рднрдиреНрджрд╛ рдареАрдХ рдЕрдЧрд╛рдбрд┐ CPU рдХреЛрд░рдорд╛ рдХреЗ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдерд┐рдпреЛ рднрдиреЗрд░ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд▓рд┐ рдЕрдЧрд╛рдбрд┐ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред ред рдпреЛ рд╣рд░реЗрдХ рдХреЗрд╣реА рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдбрдорд╛ CPU рд▓рд╛рдИ рдПрдХреНрд╕-рд░реЗ рдЧрд░реНрдиреБ рдЬрд╕реНрддреИ рд╣реЛред рдпреЛ рдХреЗрд╣рд┐ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреЗрдЫ:
рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдкрдорд╛, рдпреЛ рд╕рдмреИ рдЕрд╡рд╕реНрдерд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, ksoftirqd
:
# record 999 times a second, or every 1ms with some offset so not to align exactly with timers
sudo perf record -C 11 -g -F 999
# take that recording and make a simpler stack trace.
sudo perf script 2>/dev/null | ./FlameGraph/stackcollapse-perf-ordered.pl | grep ksoftir -B 100
рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдЫрдиреН:
(╤Б╨╛╤В╨╜╨╕ ╤Б╨╗╨╡╨┤╨╛╨▓, ╨║╨╛╤В╨╛╤А╤Л╨╡ ╨▓╤Л╨│╨╗╤П╨┤╤П╤В ╨┐╨╛╤Е╨╛╨╢╨╕╨╝╨╕)
cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_iter cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages ksoftirqd/11;ret_from_fork;kthread;kthread;smpboot_thread_fn;smpboot_thread_fn;run_ksoftirqd;__do_softirq;net_rx_action;ixgbe_poll;ixgbe_clean_rx_irq;napi_gro_receive;netif_receive_skb_internal;inet_gro_receive;bond_handle_frame;__netif_receive_skb_core;ip_rcv_finish;ip_rcv;ip_forward_finish;ip_forward;ip_finish_output;nf_iterate;ip_output;ip_finish_output2;__dev_queue_xmit;dev_hard_start_xmit;ipip_tunnel_xmit;ip_tunnel_xmit;iptunnel_xmit;ip_local_out;dst_output;__ip_local_out;nf_hook_slow;nf_iterate;nf_conntrack_in;generic_packet;ipt_do_table;set_match_v4;ip_set_test;hash_net4_kadt;ixgbe_xmit_frame_ring;swiotlb_dma_mapping_error;hash_net4_test ksoftirqd/11;ret_from_fork;kthread;kthread;smpboot_thread_fn;smpboot_thread_fn;run_ksoftirqd;__do_softirq;net_rx_action;gro_cell_poll;napi_gro_receive;netif_receive_skb_internal;inet_gro_receive;__netif_receive_skb_core;ip_rcv_finish;ip_rcv;ip_forward_finish;ip_forward;ip_finish_output;nf_iterate;ip_output;ip_finish_output2;__dev_queue_xmit;dev_hard_start_xmit;dev_queue_xmit_nit;packet_rcv;tpacket_rcv;sch_direct_xmit;validate_xmit_skb_list;validate_xmit_skb;netif_skb_features;ixgbe_xmit_frame_ring;swiotlb_dma_mapping_error;__dev_queue_xmit;dev_hard_start_xmit;__bpf_prog_run;__bpf_prog_run
рдпрд╣рд╛рдБ рдзреЗрд░реИ рдЪреАрдЬрд╣рд░реВ рдЫрдиреН, рддрд░ рдореБрдЦреНрдп рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ "ksoftirqd рдЕрдШрд┐ cadvisor" рдврд╛рдБрдЪрд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВ рдЬреБрди рд╣рд╛рдореАрд▓реЗ ICMP рдЯреНрд░реЗрд╕рд░рдорд╛ рдкрд╣рд┐рд▓реЗ рджреЗрдЦреНрдпреМрдВред рдпрд╕рдХреЛ рдорддрд▓рдм рдХреЗ рд╣реЛ?
рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдЦрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдиреНрджреБрдорд╛ рдПрдХ CPU рдЯреНрд░реЗрд╕ рд╣реЛред рд░реЗрдЦрд╛рдорд╛ рд╕реНрдЯреНрдпрд╛рдХ рдбрд╛рдЙрди рдкреНрд░рддреНрдпреЗрдХ рдХрд▓ рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдЧрд░рд┐рдПрдХреЛ рдЫред рд░реЗрдЦрд╛рд╣рд░реВрдХреЛ рдмреАрдЪрдорд╛ рд╣рд╛рдореА рджреЗрдЦреНрдЫреМрдВ рдХрд┐ syscall рднрдирд┐рдиреНрдЫ: read(): .... ;do_syscall_64;sys_read; ...
ред рддреНрдпрд╕реИрд▓реЗ рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░рд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рдорд╛ рдзреЗрд░реИ рд╕рдордп рдЦрд░реНрдЪ рдЧрд░реНрджрдЫ read()
рдХрд╛рд░реНрдпрд╣рд░реБ рд╕рдВрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд mem_cgroup_*
(рдХрд▓ рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рд╢реАрд░реНрд╖/рд▓рд╛рдЗрдирдХреЛ рдЕрдиреНрддреНрдп)ред
рдХрд▓ рдЯреНрд░реЗрд╕рдорд╛ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреЗ рдкрдврд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рд╣реЗрд░реНрди рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ, рддреНрдпрд╕реИрд▓реЗ рджреМрдбреМрдВ strace
рд░ рдХреЗрдбрднрд╛рдЗрдЬрд░рд▓реЗ рдХреЗ рдЧрд░реНрдЫ рд╣реЗрд░реМрдВ рд░ 100 ms рднрдиреНрджрд╛ рд▓рд╛рдореЛ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН:
theojulienne@kube-node-bad ~ $ sudo strace -p 10137 -T -ff 2>&1 | egrep '<0.[1-9]'
[pid 10436] <... futex resumed> ) = 0 <0.156784>
[pid 10432] <... futex resumed> ) = 0 <0.258285>
[pid 10137] <... futex resumed> ) = 0 <0.678382>
[pid 10384] <... futex resumed> ) = 0 <0.762328>
[pid 10436] <... read resumed> "cache 154234880nrss 507904nrss_h"..., 4096) = 658 <0.179438>
[pid 10384] <... futex resumed> ) = 0 <0.104614>
[pid 10436] <... futex resumed> ) = 0 <0.175936>
[pid 10436] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 577 <0.228091>
[pid 10427] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 577 <0.207334>
[pid 10411] <... epoll_ctl resumed> ) = 0 <0.118113>
[pid 10382] <... pselect6 resumed> ) = 0 (Timeout) <0.117717>
[pid 10436] <... read resumed> "cache 154234880nrss 507904nrss_h"..., 4096) = 660 <0.159891>
[pid 10417] <... futex resumed> ) = 0 <0.917495>
[pid 10436] <... futex resumed> ) = 0 <0.208172>
[pid 10417] <... futex resumed> ) = 0 <0.190763>
[pid 10417] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 576 <0.154442>
рддрдкрд╛рдИрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗ рдЬрд╕реНрддреИ, рд╣рд╛рдореА рдпрд╣рд╛рдБ рдврд┐рд▓реЛ рдХрд▓рд╣рд░реВ рджреЗрдЦреНрдЫреМрдВ read()
ред рдкрдвреНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рд╕рдиреНрджрд░реНрднрдХреЛ рд╕рд╛рдордЧреНрд░реАрдмрд╛рдЯ mem_cgroup
рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ рдпреА рдЪреБрдиреМрддреАрд╣рд░реВ read()
рдлрд╛рдЗрд▓ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрдиреБрд╣реЛрд╕реН memory.stat
, рдЬрд╕рд▓реЗ рдореЗрдореЛрд░реА рдкреНрд░рдпреЛрдЧ рд░ cgroup рд╕реАрдорд╛рд╣рд░реВ (рдбрдХрд░рдХреЛ рд╕реНрд░реЛрдд рдЕрд▓рдЧрд╛рд╡ рдкреНрд░рд╡рд┐рдзрд┐) рджреЗрдЦрд╛рдЙрдБрдЫред рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░ рдЙрдкрдХрд░рдгрд▓реЗ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рдкреНрд░рдпреЛрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдпреЛ рдлрд╛рдЗрд▓рд▓рд╛рдИ рд╕реЛрдзреНрдЫред рдпреЛ рдХрд░реНрдиреЗрд▓ рд╡рд╛ рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░рд▓реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реМрдВ:
theojulienne@kube-node-bad ~ $ time cat /sys/fs/cgroup/memory/memory.stat >/dev/null
real 0m0.153s
user 0m0.000s
sys 0m0.152s
theojulienne@kube-node-bad ~ $
рдЕрдм рд╣рд╛рдореА рдмрдЧ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рд▓реЗ рд░реЛрдЧрд╡рд┐рдЬреНрдЮрд╛рдирдХреЛ рд╕рд╛рдордирд╛ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рд╕рдХреНрдЫреМрдВред
рдХрд┐рди рдкрдвреНрдиреЗ рдХрд╛рд░реНрдп рдпрддрд┐ рдврд┐рд▓реЛ рдЫ?
рдпрд╕ рдЪрд░рдгрдорд╛, рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрдиреНрдп рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдмрд╛рдЯ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫред рдЬрд╕рд░реА рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ, рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░ рдЯреНрд░реНрдпрд╛рдХрд░рдорд╛ рдпреЛ рдмрдЧрдХреЛ рд░реВрдкрдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ
рд╕рдорд╕реНрдпрд╛ рдпреЛ рд╣реЛ рдХрд┐ cgroups рд▓реЗ рдиреЗрдорд╕реНрдкреЗрд╕ (рдХрдиреНрдЯреЗрдирд░) рднрд┐рддреНрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдиреНрдЫред рдЬрдм рдпреЛ cgroup рдорд╛ рд╕рдмреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдиреНрдЫ, Docker рд▓реЗ рдореЗрдореЛрд░реА cgroup рдЬрд╛рд░реА рдЧрд░реНрджрдЫред рдпрджреНрдпрдкрд┐, "рдореЗрдореЛрд░реА" рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рд╣реЛрдЗрдиред рдпрджреНрдпрдкрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдЖрдлреИрдВрдорд╛ рдЕрдм рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рдХрд░реНрдиреЗрд▓рд▓реЗ рдЕрдЭреИ рдкрдирд┐ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ, рдЬрд╕реНрддреИ рдбреЗрдиреНрдЯреНрд░реАрд╣рд░реВ рд░ рдЗрдиреЛрдбрд╣рд░реВ (рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░ рдлрд╛рдЗрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛), рдЬреБрди рдореЗрдореЛрд░реА cgroup рдорд╛ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдиреНрдЫред рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╡рд░рдгрдмрд╛рдЯ:
zombie cgroups: cgroups рдЬрд╕рдорд╛ рдХреБрдиреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдЫреИрдирдиреН рд░ рдореЗрдЯрд╛рдЗрдПрдХреЛ рдЫ, рддрд░ рдЕрдЭреИ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ (рдореЗрд░реЛ рдХреЗрд╕рдорд╛, рдбреЗрдиреНрдЯреНрд░реА рдХреНрдпрд╛рд╕рдмрд╛рдЯ, рддрд░ рдпреЛ рдкреГрд╖реНрда рдХреНрдпрд╛рд╕ рд╡рд╛ tmpfs рдмрд╛рдЯ рдкрдирд┐ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред
cgroup рдЦрд╛рд▓реА рдЧрд░реНрджрд╛ рдХреНрдпрд╛рд╕рдорд╛ рд╕рдмреИ рдкреГрд╖реНрдард╣рд░реВрдХреЛ рдХрд░реНрдиреЗрд▓ рдЬрд╛рдБрдЪ рдзреЗрд░реИ рдврд┐рд▓реЛ рд╣реБрди рд╕рдХреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдЕрд▓реНрдЫреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЫрдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ: рдпреА рдкреГрд╖реНрдард╣рд░реВ рдкреБрди: рдЕрдиреБрд░реЛрдз рдирдЧрд░реЗрд╕рдореНрдо рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЕрдиреНрддрдорд╛ cgroup рдЦрд╛рд▓реА рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬрдм рдореЗрдореЛрд░реА рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫред рдпрд╕ рдмрд┐рдиреНрджреБ рд╕рдореНрдо, рддрдереНрдпрд╛рдЩреНрдХ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрд╛ cgroup рдЕрдЭреИ рдкрдирд┐ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЗрдиреНрдЫред
рдкреНрд░рджрд░реНрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рдореЗрдореЛрд░реА рдмрд▓рд┐рджрд╛рди рджрд┐рдП: рдХреЗрд╣реА рдХреНрдпрд╛рд╕ рдореЗрдореЛрд░реА рдкрдЫрд╛рдбрд┐ рдЫреЛрдбреЗрд░ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдлрд╛рдИрдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрдБрджреИред рдпреЛ рдареАрдХ рдЫред рдЬрдм рдХрд░реНрдиреЗрд▓рд▓реЗ рдХреНрдпрд╛рд╕ рдореЗрдореЛрд░реАрдХреЛ рдЕрдиреНрддрд┐рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ, cgroup рдЕрдиреНрддрддрдГ рдЦрд╛рд▓реА рд╣реБрдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рд▓рд╛рдИ "рд▓реАрдХ" рднрдиреНрди рд╕рдХрд┐рдБрджреИрдиред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдЦреЛрдЬ рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди memory.stat
рдпреЛ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ (4.9), рд╣рд╛рдореНрд░реЛ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдореЗрдореЛрд░реАрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ, рдпрд╕рдХреЛ рдорддрд▓рдм рдкрдЫрд┐рд▓реНрд▓реЛ рдХреНрдпрд╛рд╕ рдбрд╛рдЯрд╛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд░ cgroup zombies рдЦрд╛рд▓реА рдЧрд░реНрди рдзреЗрд░реИ рд╕рдордп рд▓рд╛рдЧреНрдЫред
рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ рдХрд┐ рд╣рд╛рдореНрд░рд╛ рдХреЗрд╣реА рдиреЛрдбрд╣рд░реВрдорд╛ рдпрддрд┐ рдзреЗрд░реИ cgroup zombies рдерд┐рдП рдХрд┐ рдкрдвреНрдиреЗ рд░ рд╡рд┐рд▓рдореНрдмрддрд╛ рдПрдХ рд╕реЗрдХреЗрдиреНрдб рдирд╛рдШреНрдпреЛред
рдХреНрдпрд╛рдбрднрд╛рдЗрдЬрд░ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдорд╛рдзрд╛рди рднрдиреЗрдХреЛ рдкреНрд░рдгрд╛рд▓реАрднрд░рд┐ рддреБрд░реБрдиреНрддреИ рдбреЗрдиреНрдЯреНрд░реА/рдЗрдиреЛрдб рдХреНрдпрд╛рд╕рд╣рд░реВ рдореБрдХреНрдд рдЧрд░реНрдиреБ рд╣реЛ, рдЬрд╕рд▓реЗ рддреБрд░реБрдиреНрддреИ рд╣реЛрд╕реНрдЯрдорд╛ рдкрдвреНрдиреЗ рд▓реЗрдЯрдиреНрд╕реА рд░ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЗрдЯрдиреНрд╕реА рд╣рдЯрд╛рдЙрдБрдЫ, рдХрд┐рдирдХрд┐ рдХреНрдпрд╛рд╕ рдЦрд╛рд▓реА рдЧрд░реНрджрд╛ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ zombie cgroup рдкреГрд╖реНрдард╣рд░реВ рд╕рдХреНрд░рд┐рдп рд╣реБрдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрдирд┐ рдореБрдХреНрдд рдЧрд░реНрджрдЫред рдпреЛ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЗрди, рддрд░ рдпрд╕рд▓реЗ рд╕рдорд╕реНрдпрд╛рдХреЛ рдХрд╛рд░рдг рдкреБрд╖реНрдЯрд┐ рдЧрд░реНрджрдЫред
рдирдпрд╛рдБ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ (4.19+) рдХрд▓ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдерд┐рдпреЛ memory.stat
, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдХрд░реНрдиреЗрд▓рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рднрдпреЛред рдПрдХреИ рд╕рдордпрдорд╛, рд╣рд╛рдореАрд╕рдБрдЧ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдиреЛрдбрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдирд┐рдХрд╛рд▓реНрдиреЗ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд░рд┐рдмреБрдЯ рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдгрд╣рд░реВ рдерд┐рдПред рд╣рд╛рдореАрд▓реЗ рд╕рдмреИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдХрдореНрдмреЗрдб рдЧрд░реНрдпреМрдВ, рдкрд░реНрдпрд╛рдкреНрдд рдЙрдЪреНрдЪ рд╡рд┐рд▓рдореНрдмрддрд╛ рднрдПрдХрд╛ рдиреЛрдбрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдпреМрдВ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд░рд┐рдмреБрдЯ рдЧрд░реНтАНрдпреМрдВред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдмрд╛рдБрдХреА рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ OS рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рд╕рдордп рджрд┐рдпреЛред
рд╕рдВрдХреНрд╖реЗрдк рдЧрд░реНрди
рдХрд┐рдирднрдиреЗ рдпреЛ рдмрдЧрд▓реЗ рд╕рдпреМрдВ рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ RX NIC рдХрддрд╛рд░ рдкреНрд░рд╢реЛрдзрди рд░реЛрдХреЗрдХреЛ рдЫ, рдпрд╕рд▓реЗ рдПрдХреИрд╕рд╛рде рдЫреЛрдЯреЛ рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдЙрдЪреНрдЪ рд╡рд┐рд▓рдореНрдмрддрд╛ рд░ MySQL рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдмреАрдЪрдХреЛ рдордзреНрдп-рдЬрдбрд╛рди рд╡рд┐рд▓рдореНрдмрддрд╛рдХреЛ рдХрд╛рд░рдг рдмрдирд╛рдпреЛред
Kubernetes рдЬрд╕реНрддрд╛ рд╕рдмреИрднрдиреНрджрд╛ рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдмреБрдЭреНрди рд░ рдХрд╛рдпрдо рд░рд╛рдЦреНрдиреБ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕рдмреИ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд░ рдЧрддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред рддрдкрд╛рдИрдВрд▓реЗ рдЪрд▓рд╛рдЙрдиреБрднрдПрдХреЛ рд╣рд░реЗрдХ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ Kubernetes рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдзрд╛рд░рд╣рд░реВрдмрд╛рдЯ рдлрд╛рдЗрджрд╛ рд▓рд┐рдиреНрдЫред
рд╕реНрд░реЛрдд: www.habr.com