เบชเบญเบเบชเบฒเบกเบเบตเบเปเบญเบ Kubernetes
เปเบเบเบซเบฅเบฑเบเบเบฒเบเปเบฅเปเบง, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบกเบตเบเบฐเบชเบปเบเบเบฒเบ latency เปเบเบทเบญเบเปเบฒเบเปเบเบเบชเบธเปเบกเปเบเบดเบ 100ms เบซเบผเบทเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบ, เปเบเบดเปเบเบเปเปเปเบซเปเปเบเบตเบเบเบฒเบเปเบปเบเปเบงเบฅเบฒ เบซเบผเบทเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเปเปเป. เบเปเบฅเบดเบเบฒเบเบเบฒเบเบงเปเบฒเบเบฐเบชเบฒเบกเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเปเปเบงเบเบงเปเบฒ 100ms. เปเบเปเบเบตเปเปเบเบฑเบเปเบเบเปเปเปเบเปเบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบปเบงเบกเบฑเบเปเบญเบเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบ. เปเบเบเบเปเบฒเบเบซเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบฒเบเบชเบญเบเบเบฒเบก MySQL เบเบตเปเปเบงเบซเบผเบฒเบเบเบตเปเบเบงเบเบเบฐเปเบเปเปเบงเบฅเบฒ milliseconds, เปเบฅเบฐ MySQL เบชเปเบฒเปเบฅเบฑเบเปเบ milliseconds, เปเบเปเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบฎเปเบญเบเบเป, เบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบเปเปเบงเบฅเบฒ 100ms เบซเบผเบทเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบ.
เบกเบฑเบเบเบฑเบเบเบตเบเบตเปเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบเบงเปเบฒเบเบฑเบเบซเบฒเปเบเบตเบเบเบถเปเบเบเบฝเบเปเบเปเปเบกเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ node Kubernetes, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเปเบเบกเบฒเบเบฒเบเบเบญเบ Kubernetes. เบงเบดเบเบตเบเบตเปเบเปเบฒเบเบเบตเปเบชเบธเบเบเบตเปเบเบฐเปเบเปเบเบฑเบเบเบฑเบเบซเบฒเปเบกเปเบเบขเบนเปเปเบเบเบฒเบเบเบปเบเบชเบญเบ
เบเบฒเบเบเปเบฒเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบตเปเบเปเบฒเปเบเบชเบนเปเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง
เปเบเบเบเบฒเบเบชเปเบฒเบเบเบปเบงเบขเปเบฒเบเบเบฝเบงเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเบเบธเบเบชเบธเบกเบเบญเบเบเบฑเบเบซเบฒเปเบเบเบฅเบปเบเปเบฅเบฐเปเบญเบปเบฒเบเบฑเปเบเบเบญเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบญเบญเบ. เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบกเบตเบญเบปเบเบเบฐเบเบญเบเบซเบผเบฒเบเปเบเบตเบเปเบเปเบเบเบฒเบเปเบซเบผเบฅเบฐเบซเบงเปเบฒเบ Vegeta เปเบฅเบฐเบเบฑเบ Kubernetes. เปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบฑเบเบซเบฒเปเบเบทเบญเบเปเบฒเบเบเบตเปเปเบฅเบดเบเปเบเบดเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฐเบเบดเปเบชเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเบงเบเบกเบฑเบ.
เบฅเบนเบเบเปเบฒ (Vegeta) เบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบเบฑเบ node เปเบเปเบ cluster. Kubernetes เปเบฎเบฑเบเบงเบฝเบเปเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบเปเบญเบเบเบฑเบ (เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเปเบเบทเบญเบเปเบฒเบเบชเบนเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง) เบเบตเปเปเบเป
เบเบฐเปเบซเบเบ tcpdump
เปเบเบเบฒเบเบเบปเบเบชเบญเบ Vegeta เบกเบตเบเบงเบฒเบกเบเบฑเบเบเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบกเบท TCP (เบฅเบฐเบซเบงเปเบฒเบ SYN เปเบฅเบฐ SYN-ACK). เปเบเบทเปเบญเปเบญเบปเบฒเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป hping3
เบชเปเบฒเบฅเบฑเบ "pings" เบเปเบฒเบเปเบเบฑเบเปเบเบฑเบเปเบเบฑเบ SYN. เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบงเปเบฒเบกเบตเบเบงเบฒเบกเบเบฑเบเบเปเบฒเปเบเบเบธเบเบเบฒเบเบเบญเบเปเบเป, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบซเบกเป. เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฑเปเบเบเบญเบเบเปเปเบกเบนเบเบเบฝเบเปเบเปเบฅเบงเบกเปเบญเบปเบฒเปเบเบฑเบเปเบเบฑเบเบเบตเปเบกเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบงเปเบฒ 100ms เปเบเบปเปเบฒเบเบฑเปเบเปเบฅเบฐเปเบเปเบฎเบฑเบเบงเบดเบเบตเบเบตเปเบเปเบฒเบเบเบงเปเบฒเบเบตเปเบเบฐเบชเปเบฒเบเบเบฑเบเบซเบฒเปเบซเบกเปเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเปเบเบทเบญเบเปเบฒเบเบเบฑเปเบ 7 เปเบเบฑเบกเปเบ Vegeta. เบเบตเปเปเบกเปเบ node Kubernetes "pings" เปเบเบเปเบเป TCP SYN / SYN-ACK เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ "node port" (30927) เปเบเปเบฅเบเบฐ 10ms, เบเบฒเบเบเบฑเปเบเบเบญเบเปเบเบเบเปเบฒเบเบญเบเบเบตเปเบเปเบฒเบเบตเปเบชเบธเบ:
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
เบเบฑเบเบเบตเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบเบเปเบฒเบญเบดเบ. เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบเบปเบงเปเบฅเบเบฅเปเบฒเบเบฑเบเปเบฅเบฐเปเบงเบฅเบฒ, เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบเบตเปเบเปเปเปเบกเปเบเบเบงเบฒเบกเปเบญเบญเบฑเบเบเบฑเปเบเบเบฝเบง. เบเบงเบฒเบกเบฅเปเบฒเบเปเบฒเบกเบฑเบเบเบฐเบชเบฐเบชเบปเบกเปเบฅเบฐเบเบทเบเบเบธเบเปเบเปเบเปเบเบเบตเปเบชเบธเบ.
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบญเบเบซเบฒเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบญเบฒเบเบเบฐเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบตเบเบเบทเปเบเบเบญเบเบเบงเบฒเบกเปเบญเบญเบฑเบ. เบเบฒเบเบเบตเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเบปเบเบฅเบฐเบเบฝเบ iptables เบซเบผเบฒเบเบฎเปเบญเบเบเบปเบเปเบ NAT? เบซเบผเบทเบกเบตเบเบฑเบเบซเบฒเปเบเปเบเบฑเบ IPIP tunneling เปเบเปเบเบทเบญเบเปเบฒเบ? เบงเบดเบเบตเบซเบเบถเปเบเบเบตเปเบเบฐเบเบปเบเบชเบญเบเบเบตเปเปเบกเปเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเปเบฅเบฐเบเบฑเปเบเบเบญเบเบเบญเบเบฅเบฐเบเบปเบเปเบเบเบเบฒเบเบเปเบฒเบเบฑเบเบกเบฑเบ. เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเบเปเบฒเบเปเบฒเบเปเบญเบปเบฒเปเบซเบเบเบปเบ NAT เปเบฅเบฐเปเบเบงเป, เบเปเบญเบเปเบซเปเบเบฝเบเปเบเปเบชเปเบงเบ IPIP:
เปเบเบเบเบต, Linux เปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฑเปเบเบงเบฒเบ IP เปเบเบเบเบปเบเบเปเบฒเปเบเบทเปเบญเบเบขเบนเปเปเบเปเบเบทเบญเบเปเบฒเบเบเบฝเบงเบเบฑเบ:
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 ping เบเบปเบเบเบฐเบเบดเปเบเปเบเบงเปเบ:
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
เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเปเบซเปเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเปเบฒเบเบเบถเปเบเปเบเบฑเบเบชเบญเบเบเปเป Kubernetes เบเบตเปเบชเบปเปเบเปเบเบฑเบเปเบเบฑเบเบเปเบฒเบเปเปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบ, เปเบกเปเบเปเบเป ICMP ping. เบเบงเบเปเบเบปเบฒเบเบฑเบเปเบซเบฑเบ latency เบเปเบฒเปเบเบปเปเบฒเบเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบ "เบเปเปเบเบต" (เบเบฒเบเบญเบฑเบเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเบเบปเบเบญเบทเปเบ).
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบฒเบกเบชเบธเบเบเปเบฒเบ: เปเบเบฑเบเบซเบเบฑเบเบเบฒเบเบเบฑเบเบเปเบฒเบเบฝเบเปเบเปเปเบเบตเบเบเบทเปเบเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ kube-node? เปเบฅเบฐเบกเบฑเบเปเบเบตเบเบเบถเปเบเปเบกเบทเปเบญ 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
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฝเบงเบเบฑเบเบเบฒเบ kube-node เปเบซเบผเปเบเบเปเบญเบเบซเบเปเบฒเปเบเบซเบฒเปเบฎเบเบเบฒเบเบเบญเบ (เปเบเบดเปเบเบเปเปเบฅเบงเบกเปเบฎเบเบเบปเปเบเบชเบฐเบเบฑเบเบเบฑเบเบเบฑเปเบเปเบเป ping เบเบฐเบเบญเบเบกเบตเบเบฑเบเบญเบปเบเบเบฐเบเบญเบ 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
เปเบเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบเบฑเบเปเบงเบฅเบฒเปเบเบฑเบเปเบเบฑเบเปเบเบฑเบเปเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบกเบเบฒเบเบขเปเบฒเบ. เปเบเบเบชเบฐเปเบเบฒเบฐ, เบเบนเปเบชเบปเปเบ (เบฅเบธเปเบก) เปเบซเบฑเบเปเบงเบฅเบฒเบซเบกเบปเบเปเบงเบฅเบฒเบเบตเป, เปเบเปเบเบนเปเบฎเบฑเบ (เปเบเบดเบ) เบเปเปเปเบเป - เปเบเบดเปเบเบเบฑเบ Delta (เปเบเบงเบดเบเบฒเบเบต):
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเปเบเบดเปเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบเบธเบ TCP เปเบฅเบฐ ICMP (เปเบเบเบเบปเบงเปเบฅเบเบฅเปเบฒเบเบฑเบ) เปเบเบเปเบฒเบเบเบนเปเบฎเบฑเบ, เปเบเบฑเบเปเบเบฑเบ ICMP เบชเบฐเปเบซเบกเบตเบกเบฒเบฎเบญเบเปเบเบฅเปเบฒเบเบฑเบเบเบฝเบงเบเบฑเบเบเบตเปเบเบงเบเปเบเบปเบฒเบเบทเบเบชเบปเปเบเปเบ, เปเบเปเบกเบตเปเบงเบฅเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เปเบเบฑเบเปเบเบฑเบ TCP เบเบฒเบเบเบฑเปเบเปเบเบเปเบเบ, เปเบฅเบฐเบเบฒเบเบชเปเบงเบเบเบญเบเบเบงเบเบกเบฑเบเบเบทเบเบเบดเบ. เปเบเบเบชเบฐเปเบเบฒเบฐ, เบเปเบฒเบเปเบฒเบเบเบงเบเปเบเบดเปเบเบเบญเบเบเบญเบเปเบเบฑเบเปเบเบฑเบ SYN, เบเบงเบเบกเบฑเบเบขเบนเปเปเบเบเปเบฒเบชเบฑเปเบเบขเบนเปเบเปเบฒเบเบเบนเปเบชเบปเปเบ, เปเบเปเบเปเปเปเบกเปเบเบขเบนเปเบเปเบฒเบเบเบนเปเบฎเบฑเบ.
เบกเบตเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบฑเบเปเบฅเบฑเบเบเปเบญเบเปเบเบงเบดเบเบตเบเบฒเบ
เบเบฒเบเบชเบฑเบเปเบเบเปเบซเบกเปเบญเบตเบเบญเบฑเบเบซเบเบถเปเบ: เปเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบเบงเบฒเบกเบฅเปเบฒเบเปเบฒ ICMP เปเบเบเบฒเบเบชเบทเปเบชเบฒเบเบเบฑเบเบซเบกเบปเบเบฅเบฐเบซเบงเปเบฒเบเบชเบญเบเปเบเบปเปเบฒเบเบฒเบ, เปเบเป TCP เบเปเปเปเบเป. เบเบตเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบงเปเบฒเบชเบฒเปเบซเบเปเบกเปเบเบญเบฒเบเบเบฐเบเปเบฝเบงเบเปเบญเบเบเบฑเบ RX queue hashing: congestion เปเบกเปเบเปเบเบทเบญเบเปเบเปเบเบญเบเปเบเบเบฒเบเบเบธเบเปเบเปเบ RX packets, เบเปเปเปเบกเปเบเบเบฒเบเบชเบปเปเบเบเปเบฒเบเบญเบ.
เบเบตเปเบฅเบปเบเบฅเปเบฒเบเบเบฒเบเบชเบปเปเบเบเบญเบเบเบฒเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบชเบฒเปเบซเบเบเบตเปเปเบเบฑเบเปเบเปเบเป. เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒเบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบเปเบเบฑเบเปเบกเปเบเบขเบนเปเปเบเบเปเบฒเบเบฎเบฑเบเปเบเบเบฒเบเปเบเบตเบเปเบงเบต kube-node.
เปเบเบปเปเบฒเปเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบเปเบเบฑเบเปเบ Linux kernel
เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบฑเบเบซเบฒเปเบเบตเบเบเบทเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเบฎเบฑเบเปเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ kube-node, เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบงเปเบฒ Linux kernel เบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบเปเบเบฑเบเปเบเบงเปเบ.
เบเบฑเบเบเบทเบเบชเบนเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฑเปเบเปเบเบตเบกเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ, เบเบฑเบเปเบเบทเบญเบเปเบฒเบเปเบเปเบฎเบฑเบเปเบเบฑเบเปเบเบฑเบเปเบฅเบฐเบชเบปเปเบ
เบเบฒเบเบชเบฐเบซเบผเบฑเบเบชเบฐเบเบฒเบเบเบฒเบเบเบตเปเปเบกเปเบเบเปเบฒ: เปเบงเบฅเบฒเปเบเบฑเบเปเบเบฑเบเบญเบฒเบเบเปเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเปเปเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ 10Mbps เปเบเบเบธเบกเบเบต 90, เปเบเปเปเบเบเบฑเบ 10G เบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเบตเปเบกเบตเบเบงเบฒเบกเปเบงเบชเบนเบเบชเบธเบ 15 เบฅเปเบฒเบเปเบเบฑเบเปเบเบฑเบเบเปเปเบงเบดเบเบฒเบเบต, เปเบเปเบฅเบฐเบซเบผเบฑเบเบเบญเบเปเบเบตเบเปเบงเบตเปเบเบเปเบเบเบเปเบญเบเบชเบฒเบกเบฒเบเบฅเบปเบเบเบงเบเปเบเปเบซเบผเบฒเบเบฅเปเบฒเบเบเบปเบ. เบเบญเบเปเบเบทเปเบญเบเปเปเบงเบดเบเบฒเบเบต.
เปเบเบทเปเบญเบเปเปเปเบซเปเบกเบตเบเบฒเบเบเบฑเบเบเบงเบฒเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ, เปเบกเบทเปเบญเบซเบฅเบฒเบเบเบตเบเปเบญเบ Linux เปเบเปเปเบเบตเปเบก
เบเบตเปเปเบงเบเบงเปเบฒเบซเบผเบฒเบ, เปเบเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเปเบฒเบกเบตเปเบเบฑเบเปเบเบฑเบเบซเบผเบฒเบเปเบเบตเบเปเบ, เปเบงเบฅเบฒเบเบฑเบเบซเบกเบปเบเปเบกเปเบเปเบเปเปเบงเบฅเบฒเปเบเบเบฒเบเบเบธเบเปเบเปเบเปเบเบฑเบเปเบเบฑเบเบเบฒเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ, เปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเบเบทเปเบเบเบตเปเบเบญเบเบเบนเปเปเบเปเบเปเปเบกเบตเปเบงเบฅเบฒเบเบตเปเบเบฐเบซเบงเปเบฒเบเบเบดเบงเปเบซเบผเบปเปเบฒเบเบตเป (เบญเปเบฒเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP, เปเบฅเบฐเบญเบทเปเบเป). เปเบโเบเบตเปโเบชเบธเบโเปเบเบงโเบเบฐโเปเบเบฑเบกโเปเบโเปเบฅเบฐโเบเบงเบโเปเบฎเบปเบฒโเปเบฅเบตเปเบกโเบซเบผเบธเบโเบฅเบปเบโเบเบญเบโ. เปเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเบฐเบเบญเบเบซเบฒเบเบงเบฒเบกเบเบธเปเบเบเปเบฝเบ, kernel เบเปเบฒเบเบปเบเบเบปเบเบเบฐเบกเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเบชเบนเบเบชเบธเบเบเบญเบเปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบทเบเบเบธเบเปเบเปเบเปเบเบชเบฐเบเบฒเบเบเบฒเบ softirq. เปเบกเบทเปเบญเบเบปเบเบเบฐเบกเบฒเบเบเบตเปเปเบเบตเบ, เบเบฐเบเบนเปเปเบเบเบเปเบฒเบเบซเบฒเบเปเบกเปเบเบเบธเบ ksoftirqd
(เบเปเบฒเบเบเบฐเปเบซเบฑเบเบซเบเบถเปเบเปเบเบเบงเบเบกเบฑเบเบขเบนเปเปเบ ps
per core) เบเบตเปเบเบฑเบเบเบฒเบ softirqs เปเบซเบผเบปเปเบฒเบเบตเปเบขเบนเปเบเบญเบเปเบชเบฑเปเบเบเบฒเบ syscall / interrupt เบเบปเบเบเบฐเบเบด. เบเบฐเบเบนเปเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเปเบเปเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบฐเบเบงเบเบเบฒเบเบกเบฒเบเบเบฐเบเบฒเบ, เปเบเบดเปเบเบเบฐเบเบฒเบเบฒเบกเบเบฑเบเบชเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบขเปเบฒเบเบเบธเบเบเบดเบเปเบฒ.
เบกเบตเบเบฒเบเบชเบถเบเบชเบฒเบงเบดเบเบตเบเบฒเบ kernel เบเบฐเบเบงเบเบเบฒเบเบซเบธเปเบกเบซเปเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเบงเปเบฒเบกเบตเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบตเปเปเบเปเบเบญเบเบเบญเบ congestion. เบเปเบฒเบเบฒเบเปเบ 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 core เบเบฝเบง. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบงเปเบฒ Linux เปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ, เบกเบฑเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบเบฐเบฎเบนเปเบงเปเบฒเบเปเบญเบเปเบ (เบเปเบฝเบงเบเบฑเบ CPU core) เปเบฅเบฐเบงเบดเบเบตเบเบฒเบ (softirq, ksoftirqd) เปเบเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบเบธเบเปเบเปเบเปเบเบทเปเบญเบเบดเบเบเบฒเบกเบเบฐเบเบงเบเบเบฒเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเปเบเบดเบเปเบงเบฅเบฒเบเบตเปเบเบฐเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบก Linux kernel เปเบเปเบงเบฅเบฒเบเบดเบ. เบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเปเบเป
เปเบเบเบเบฒเบเบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเบเปเบฒเบเบเบฒเบ: เบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒ kernel เบเปเบฒเปเบเบตเบเบเบฒเบ pings ICMP เปเบซเบผเบปเปเบฒเบเบตเป, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบชเป hook เบเปเบฝเบงเบเบฑเบเบเบฑเบเบเบฑเบ kernel. hping3
เบชเบนเบเบเบถเปเบ.
เบฅเบฐโเบซเบฑเบ icmp_echo
เบเปเบฒเบเบเบญเบ struct sk_buff *skb
: เบเบตเปเปเบกเปเบเบเบธเบเบเบตเปเบกเบต "เบเปเบฒเบฎเปเบญเบเบเปเบชเบฝเบเบเบฑเบ". เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเบกเบฑเบ, เบเบถเบเบญเบญเบเบฅเปเบฒเบเบฑเบ echo.sequence
(เปเบเบดเปเบเบเบฝเบเบเบฝเบเบเบฑเบ icmp_seq
เปเบเบ hping3 ะฒััะต
), เปเบฅเบฐเบชเบปเปเบเบกเบฑเบเปเบเบซเบฒเบเบทเปเบเบเบตเปเบเบนเปเปเบเป. เบกเบฑเบเบเบฑเบเบชเบฐเบเบงเบเปเบเบเบฒเบเบเบฑเบเบเบถเบเบเบทเป/id เบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบเบธเบเบฑเบ. เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเปเบเบเบเบปเบเปเบเบเบฐเบเบฐเบเบตเป kernel processes packets:
TGID PID PROCESS NAME ICMP_SEQ 0 0 swapper/11 770 0 swapper/0 11 771 swapper/0 0 11 swapper/772 0 0 swapper/11 773 0 prometheus 0 11 774 swapper/20041 20086 775 swapper/0 0 11 swapper/776 0 0 spokes-report-s 11
เบกเบฑเบเบเบงเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบเบตเปเบเบตเปเบงเปเบฒเปเบเบชเบฐเบเบฒเบเบเบฒเบ softirq
เบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบเบซเบฒเบฅเบฐเบเบปเบเบเบฐเบเบฒเบเบปเบเปเบเบฑเบ "เบเบฐเบเบงเบเบเบฒเบ" เปเบเบเบปเบงเบเบดเบเปเบฅเปเบงเบกเบฑเบเปเบเบฑเบเปเบเปเบเบเบตเปเบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบเปเบเบฑเบเบขเปเบฒเบเบเบญเบเปเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเบเบญเบเปเบเปเบ.
เบเปเบงเบเปเบเบทเปเบญเบเบกเบทเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฐเบเบงเบเบเบฒเบเบชเบฐเปเบเบฒเบฐเบเบฑเบเบเบธเบเบชเบฐเปเบเบฒเบฐเบเบตเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเปเบเบดเบเบเบฒเบเบเบฑเบเบเปเบฒ hping3
. เปเบซเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบฒเบ grep
เบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบตเปเปเบเปเบเบญเบ icmp_seq
. เปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบปเบเบเบฑเบเบเปเบฒ icmp_seq เบเปเบฒเบเปเบเบดเบเปเบเปเบเบทเบเบเบธเบเบเปเบญเบกเบเบฑเบ RTT เบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฑเบเปเบเบเปเบซเบฑเบเบเปเบฒเบเปเบเบดเบ (เปเบเบงเบปเบเปเบฅเบฑเบเปเบกเปเบเบเปเบฒ RTT เบเบฒเบเบงเปเบฒเบเบฐเบชเปเบฒเบฅเบฑเบเปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฑเปเบเบเบญเบเบญเบญเบเปเบเบทเปเบญเบเบเบฒเบเบเปเบฒ RTT เบซเบเปเบญเบเบเบงเปเบฒ 50ms):
TGID PID PROCESS NAME ICMP_SEQ ** RTT -- 10137 10436 cadvisor 1951 10137 10436 cadvisor 1952 76 76 ksoftirqd / 11 1953 ** 99ms 76 76 ksoftirqd / 11 1954 ** 89ms 76 76 ksoftirqd / 11 1955 ** 79ms 76 76 ksoftirqd / 11 1956 ** 69ms 76 76 ksoftirqd / 11 1957 ** 59ms 76 76 ksoftirqd/11 1958 ** (49ms) 76 76 ksoftirqd/11 1959 ** (39ms) 76 76 ksoftirqd/11 1960 ** (29ms) 76 76 ksoftirqd/11 1961 ** (19ms) 76 76 ksoftirqd/11 1962 ** (9ms) -- 10137 10436 cadvisor 2068 10137 10436 cadvisor 2069 76 76 ksoftirqd / 11 2070 ** 75ms 76 76 ksoftirqd / 11 2071 ** 65ms 76 76 ksoftirqd/11 2072 ** 55ms 76 76 ksoftirqd/11 2073 ** (45ms) 76 76 ksoftirqd/11 2074 ** (35ms) 76 76 ksoftirqd/11 2075 ** (25ms) 76 76 ksoftirqd/11 2076 ** (15ms) 76 76 ksoftirqd/11 2077 ** (5ms)
เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบซเบผเบฒเบเบขเปเบฒเบ. เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเบธเบเบเบฑเบ เปเบปเบ เบเบตเปเบเบทเบเบเบธเบเปเบเปเบเปเบเบเบชเบฐเบเบฒเบเบเบฒเบ ksoftirqd/11
. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบเบนเปเบชเบฐเปเบเบฒเบฐเบเบญเบเปเบเบทเปเบญเบเบเบฑเบเบเบตเป, เบเบธเบ ICMP เปเบเปเบเบทเบ hashed เบเบฑเบเบซเบผเบฑเบ 11 เปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบฒเบเบฎเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบซเบฑเบเบงเปเบฒเบเบธเบเบเบฑเปเบเบเบตเปเบกเบตเบเบฒเบเบเบดเบเบเบฑเบ, เบกเบตเปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบทเบเบเบธเบเปเบเปเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเบฒเบเปเบ. cadvisor
... เบเบฒเบเบเบฑเปเบ ksoftirqd
เปเบเป เปเบง เบฅเบฒ เปเบ เปเบฅ เบเบฐ เบงเบฝเบ เบเบฒเบ เปเบฅเบฐ เบเบฒเบ เบเบธเบ เปเบเปเบ เปเบเบง เบชเบฐ เบชเบปเบก: เปเบเป เบเปเบฒ เบเบงเบ เบเบญเบ เบเบธเบ เบเบตเป เปเบเป เบชเบฐ เบชเบปเบก เบซเบผเบฑเบ เบเบฒเบ cadvisor
.
เบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบฑเบเบเบตเบเปเบญเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบชเบฐเปเบซเบกเบต cadvisor
, เบซเบกเบฒเบเปเบเบดเบเบเบฒเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเบเบญเบเบฅเบฒเบงเปเบเบเบฑเบเบซเบฒ. Ironically, เบเบธเบเบเบฐเบชเบปเบ
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบญเบทเปเบเปเบเบญเบเบเบนเปเบเบญเบเปเบเบเปเบเบต, เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบฒเบงเบซเบเปเบฒเบชเบนเบเปเบฅเบฐเบเบฒเบเบงเปเบฒเบเบฐเบเบฐเบชเบปเบเบเบฑเบเบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเปเบเบฒเบเบเบดเบ.
cadvisor เปเบฎเบฑเบเบซเบเบฑเบเบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบงเปเบเบฑเบเปเบเบฑเบเบเปเบฒเบฅเบปเบ?
เบเบฝเบงเบเบตเปเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบตเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบ crash เปเบเบตเบเบเบทเปเบ, เบเบฐเบเบงเบเบเบฒเบเปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบกเบฑเบ, เปเบฅเบฐ CPU เปเบ. เบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบงเปเบฒเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบขเปเบฒเบเบซเบเบฑเบเปเบซเบเปเบ, Linux kernel เบเปเปเบกเบตเปเบงเบฅเบฒเบเบตเปเบเบฐเบเปเบฒเบเบปเบเปเบงเบฅเบฒ ksoftirqd
. เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบงเปเบฒเปเบเบฑเบเปเบเบฑเบเบเบทเบเบเบธเบเปเบเปเบเปเบเบชเบฐเบเบฒเบเบเบฒเบ cadvisor
. เบกเบฑเบเปเบเบฑเบเปเบซเบเบเบปเบเบเบตเปเบเบฐเบชเบปเบกเบกเบธเบเบงเปเบฒ cadvisor
เปเบเบตเบเบเบปเบง syscall เบเปเบฒ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบชเบฐเบชเบปเบกเปเบเปเบงเบฅเบฒเบเบฑเปเบเบเบทเบเบเบธเบเปเบเปเบ:
เบเบตเปเปเบกเปเบเบเบดเบเบชเบฐเบเบต, เปเบเปเบเบฐเบเบปเบเบชเบญเบเปเบเบงเปเบ? เบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบเบทเบเบฒเบเบเบดเบเบเบฒเบกเบซเบผเบฑเบ CPU เบเบฐเบซเบผเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบตเป, เบเบญเบเบซเบฒเบเบธเบเบเบตเปเบเปเบฒเบเบงเบเปเบเบฑเบเปเบเบฑเบเปเบเบตเบเบเบปเบเบเบฐเบกเบฒเบเปเบฅเบฐ ksoftirqd เบเบทเบเปเบญเบตเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบดเปเบเบเบทเบเบญเบตเบเปเบฅเบฑเบเบเปเบญเบเปเบเบทเปเบญเปเบเบดเปเบเบชเบดเปเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบซเบผเบฑเบ CPU เบเปเบญเบเบเบธเบเบเบฑเปเบ. . เบกเบฑเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฒเบ x-raying 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
เบกเบตเบซเบผเบฒเบเบชเบดเปเบเบซเบผเบฒเบเบขเปเบฒเบเบขเบนเปเบเบตเปเบเบตเป, เปเบเปเบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบญเบเบซเบฒเบฎเบนเบเปเบเบ "cadvisor เบเปเบญเบ ksoftirqd" เบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบซเบฑเบเบเปเบญเบเบซเบเปเบฒเบเบตเปเปเบ ICMP tracer. เบกเบฑเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบเบงเปเบ?
เปเบเปเบฅเบฐเบชเบฒเบเปเบกเปเบเบเบฒเบเบเบดเบเบเบฒเบก CPU เบขเบนเปเบเบธเบเบชเบฐเปเบเบฒเบฐเปเบเปเบงเบฅเบฒ. เปเบเปเบฅเบฐเบเบฒเบเปเบเบฅเบปเบ stack เปเบเบชเบฒเบเปเบกเปเบเปเบเบเบญเบญเบเปเบเบ semicolon. เบขเบนเปเปเบเบดเปเบเบเบฒเบเบเบญเบเปเบชเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบ syscall เบเบทเบเปเบญเบตเปเบเบงเปเบฒ: read(): .... ;do_syscall_64;sys_read; ...
. เบเบฑเปเบเบเบฑเปเบ cadvisor เปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเปเบเบเบฒเบเปเบเบซเบฒเบฅเบฐเบเบปเบ read()
เบเปเบฝเบงเบเปเบญเบเบเบฑเบเบซเบเปเบฒเบเบตเป mem_cgroup_*
(เบเปเบฒเบเปเบเบดเบเบเบญเบเบชเบฒเบเปเบ/เบเบฒเบเบชเบฒเบ).
เบกเบฑเบเบเปเปเบชเบฐเบเบงเบเบเบตเปเบเบฐเปเบซเบฑเบเปเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเปเบเบงเปเบฒเปเบกเปเบเบซเบเบฑเบเปเบเปเบเบตเปเบเปเบฒเบฅเบฑเบเบญเปเบฒเบ, เบชเบฐเบเบฑเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบ strace
เปเบฅเบฐเปเบซเปเปเบเบดเปเบเบชเบดเปเบเบเบตเป cadvisor เปเบฎเบฑเบเปเบฅเบฐเบเบญเบเบซเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบเบเบฒเบงเบเบงเปเบฒ 100ms:
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 (เปเบเบฑเบเปเบเปเบฅเบเบตเบเบฒเบเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบ Docker). เปเบเบทเปเบญเบเบกเบท cadvisor เบชเบญเบเบเบฒเบกเปเบเบฅเปเบเบตเปเปเบเบทเปเบญเปเบซเปเปเบเปเบเปเปเบกเบนเบเบเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบธ. เปเบซเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบ kernel เบซเบผเบท cadvisor เปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเปเบเบฒเบเบเบดเบ:
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 ~ $
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบเบฑเบ bug เปเบฅเบฐเปเบเบปเปเบฒเปเบเบงเปเบฒ Linux kernel เบเปเบฒเบฅเบฑเบเบเบฐเปเบเบตเบเบเบฑเบเบเบฐเบเบฒเบ.
เปเบเบฑเบเบซเบเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบญเปเบฒเบเบเบถเปเบเบเปเบฒ?
เปเบเบเบฑเปเบเบเบญเบเบเบตเป, เบกเบฑเบเบเปเบฒเบเบเบถเปเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบญเบเบซเบฒเบเปเปเบเบงเบฒเบกเบเบฒเบเบเบนเปเปเบเปเบญเบทเปเบเปเบเปเบฝเบงเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ. เบเบฑเปเบเบเบตเปเบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบ, เปเบเบเบปเบงเบเบดเบเบเบฒเบก cadvisor bug เบเบตเปเปเบเปเบเบทเบเบฅเบฒเบเบเบฒเบเปเบเบฑเบ
เบเบฑเบเบซเบฒเปเบกเปเบเบงเปเบฒ cgroups เบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเบเปเบฒเปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเปเบ namespace (container). เปเบกเบทเปเบญเบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบเบฒเบเบญเบญเบ cgroup เบเบตเป, Docker เบเปเบญเบ cgroup เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, "เบเบงเบฒเบกเบเบปเบเบเปเบฒ" เบเปเปเปเบกเปเบเบเบฝเบเปเบเปเบเบฒเบเบเบฐเบกเบงเบเบเบปเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบปเบงเบกเบฑเบเปเบญเบเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเบญเบตเบเบเปเปเปเบ, เบเบฐเบเบปเบเบงเปเบฒ kernel เบเบฑเบเบเปเบฒเบเบปเบเปเบเบทเปเบญเบซเบฒเบเบตเปเปเบเบฑเบเปเบงเปเปเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒ, เปเบเบฑเปเบ: dentries เปเบฅเบฐ inodes (เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบฅเบฐ metadata เบเบญเบเปเบเบฅเป), เปเบเบดเปเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบ cgroup เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ. เบเบฒเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฑเบเบซเบฒ:
zombie cgroups: cgroups เบเบตเปเบเปเปเบกเบตเบเบฐเบเบงเบเบเบฒเบเปเบฅเบฐเบเบทเบเบฅเบถเบ, เปเบเปเบเบฑเบเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเบเบทเบเบเบฑเบเบชเบฑเบ (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบ, เบเบฒเบ cache dentry, เปเบเปเบกเบฑเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบฑเบเบชเบฑเบเบเบฒเบ cache เบซเบเปเบฒเบซเบผเบท tmpfs).
เบเบฒเบเบเบงเบเบชเบญเบเบเบญเบ kernel เบเบญเบเบเบธเบเบซเบเปเบฒเปเบ cache เปเบกเบทเปเบญเบเปเบญเบ cgroup เบชเบฒเบกเบฒเบเบเปเบฒเบซเบผเบฒเบ, เบเบฑเปเบเบเบฑเปเบเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเบฝเบเบเบทเบเปเบฅเบทเบญเบ: เบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบซเบเปเบฒเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบฎเปเบญเบเบเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเปเบฒเบ cgroup เปเบกเบทเปเบญเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเปเบญเบเบเบฒเบเบเบปเบงเบเบดเบ. เบเบปเบเบเปเบงเบฒเบเบธเบเบเบตเป, cgroup เบเบฑเบเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเปเบงเบฅเบฒเปเบเบฑเบเบเปเบฒเบชเบฐเบเบดเบเบด.
เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเปเบชเบเบชเบฐเบฅเบฐเบเบงเบฒเบกเบเบปเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ: เปเบฅเบฑเปเบเบเบฒเบเบเปเบฒเบเบงเบฒเบกเบชเบฐเบญเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเปเบเบเบเบฒเบเบเบฐเปเบงเปเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒ. เบเบตเปเปเบกเปเบเบเบต. เปเบกเบทเปเบญ kernel เปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบชเบธเบเบเปเบฒเบเบเบญเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒ, cgroup เปเบเปเบเบทเบเบฅเบถเบเบฅเปเบฒเบเปเบเบเบตเปเบชเบธเบ, เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒ "เบฎเบปเปเบง". เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบปเบเปเบเบเบปเปเบเบซเบฒ memory.stat
เปเบ kernel เปเบงเบตเบเบฑเปเบเบเบตเป (4.9), เบเบงเบเบเบฑเบเบเปเบฒเบเบงเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบญเบฑเบเปเบซเบเปเบซเบผเบงเบเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบเบเบงเปเบฒเบเบตเปเบเบฐเบเบทเปเบเบเบนเบเปเปเบกเบนเบ cache เบซเบผเปเบฒเบชเบธเบเปเบฅเบฐเบฅเปเบฒเบ zombies cgroup.
เบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบฒเบเบเปเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบต zombies cgroup เบซเบผเบฒเบเบเบฑเปเบเบเบฑเปเบเบเบฒเบเบญเปเบฒเบเปเบฅเบฐ latency เปเบเบตเบเบซเบเบถเปเบเบงเบดเบเบฒเบเบต.
เบเบฒเบเปเบเปเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบซเบฒ cadvisor เปเบกเปเบเบเบฒเบเบเบปเบเบเปเบญเบเบเบฑเบเบเบตเบเบฑเบเปเบ dentries / inodes cache เปเบเบเบปเปเบงเบฅเบฐเบเบปเบ, เปเบเบดเปเบเบเบฑเบเบเบตเบเบฑเบเปเบเบฅเบปเบเบฅเปเบฒเบเบเบฒเบเบญเปเบฒเบ latency เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบ latency เปเบเบทเบญเบเปเบฒเบเปเบเปเบเบปเปเบฒเบเบฒเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบฅเปเบฒเบ cache เบซเบฑเบเบซเบเปเบฒ cgroup cache เปเบฅเบฐเบเบงเบเปเบเบปเบฒเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเบเปเบญเบ. เบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเปเบเปเปเบ, เปเบเปเบกเบฑเบเบขเบทเบเบขเบฑเบเบชเบฒเปเบซเบเบเบญเบเบเบฑเบเบซเบฒ.
เบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบงเปเบฒเปเบ kernel เบฎเบธเปเบเปเบซเบกเป (4.19+) เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบ memory.stat
, เบชเบฐเบเบฑเปเบเบเบฒเบเบชเบฐเบซเบผเบฑเบเบเบฑเบ kernel เบเบตเปเปเบเปเปเบเบเบฑเบเบซเบฒ. เปเบเบเบฐเบเบฐเบเบฝเบงเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเปเบเบทเปเบญเบเบกเบทเปเบเบทเปเบญเบเบงเบเบซเบฒเปเบเบเบเบตเปเบกเบตเบเบฑเบเบซเบฒเบขเบนเปเปเบเบเบธเปเบก Kubernetes, เบฅเบฐเบเบฒเบเบเบงเบเบกเบฑเบเบญเบญเบเบขเปเบฒเบเบชเบฐเบซเบเปเบฒเบเบฒเบก เปเบฅเบฐเบเบดเบเปเบเบตเบเบเบงเบเบกเบฑเบเบเบทเบเปเปเป. เบเบงเบเปเบฎเบปเบฒเบฅเบงเบเบฅเบงเบกเบเบธเปเบกเบเบฑเบเปเบปเบ, เบเบปเบเปเบเบเบเบตเปเบกเบตเปเบงเบฅเบฒเปเบเบฑเบเปเบเบฑเบเบชเบนเบเบเป เปเบฅเบฐเบเบดเบเปเบเบตเบเบเบงเบเบกเบฑเบเบเบทเบเปเปเป. เบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบฅเบฒเปเบเบทเปเบญเบเบฑเบเบเบธเบ OS เปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญ.
เปเบเบทเปเบญเบชเบฐเบซเบผเบธเบ
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ bug เบเบตเปเบขเบธเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเบง RX NIC เปเบเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบเบฎเปเบญเบ milliseconds, เบกเบฑเบเบเปเบญเบกเบเบฑเบเปเบฎเบฑเบเปเบซเปเบเบฑเบเบชเบญเบ latency เบชเบนเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบชเบฑเปเบเปเบฅเบฐ latency เบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เปเบเบฑเปเบ: เบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฎเปเบญเบเบเป MySQL เปเบฅเบฐเบเบธเบเบเบญเบเบชเบฐเบซเบเบญเบ.
เบเบงเบฒเบกเปเบเบปเปเบฒเปเบเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบชเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบฅเบฐเบเบปเบเบเบทเปเบเบเบฒเบเบเบตเปเบชเบธเบ, เปเบเบฑเปเบ Kubernetes, เปเบกเปเบเบชเปเบฒเบเบฑเบเบเปเปเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเปเบฅเบฐเบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบเบญเบตเบเปเบชเปเบเบงเบเบกเบฑเบ. เบเบธเบเบฅเบฐเบเบปเบเบเบตเปเบเปเบฒเบเปเบเปเบเบฐเปเบซเบเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบ Kubernetes.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com