Otu esi ebuli ọsọ ịntanetị Linux Server site na iji TCP BBR


BBR (Bandwidth Bottleneck na RTT) bụ usoro njikwa mkpakọ ọhụrụ nke ndị injinia sọftụwia na Google dere. Ọ bụ ihe ngwọta kachasị ọhụrụ site na mbọ Google na-agbasi mbọ ike ime ka ịntanetị ngwa ngwa site na protocol TCP - ọrụ ịntanetị.

Ebumnuche bụ isi nke BBR bụ ịkwalite ojiji netwọkụ ma belata ahịrị (nke na-ebute ọrụ netwọkụ nwayọ): a ga-etinye ya na sava, mana ọ bụghị na netwọkụ ma ọ bụ ndị ahịa. Na Linux, a na-emejuputa BBR na ụdị kernel 4.9 ma ọ bụ karịa.

N'isiokwu a, anyị ga-akọwa nkenke TCP BBR, wee gaa n'ihu na-egosi otu esi ebuli ọsọ ịntanetị Linux nkesa site na iji TCP BBR njikwa mkpọchi na Linux.

Ịkwesịrị ịwụnye ụdị Linux kernel 4.9 ma ọ bụ n'elu, ejiri nhọrọ ndị a chịkọta (ma dị ka modul ma ọ bụ tinye n'ime ya):

  • CONFIG_TCP_CONG_BBR
  • CONFIG_NET_SCH_FQ
  • CONFIG_NET_SCH_FQ_CODEL

Otu esi elele modul kernel na Linux

Iji lelee ma achịkọtara nhọrọ ndị dị n'elu na kernel gị, mee iwu ndị a:

# cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
# cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'

Ka imelite kernel gị, lelee ntuziaka ndị a:

  1. Etu esi ebulite kernel ka ọ bụrụ ụdị kacha ọhụrụ na Ubuntu
  2. Otu esi etinye ma ọ bụ kwalite gaa na ụdị kernel kacha ọhụrụ na CentOS 7

Na-enyere TCP BBR njikwa mkpọchi na Linux

BBR na-arụ ọrụ nke ọma na pacing, yabụ a ga-ejirịrị ya na onye nhazi ngwugwu fq qdisc klaasị maka ije ije n'okporo ụzọ. Iji chọta ozi ndị ọzọ gbasara fq qdisc, pịnye:

# man tc-fq

Site na nghọta ziri ezi nke BBR, ị nwere ike hazie ya na sava gị ugbu a. Mepee faịlụ /etc/sysctl.conf site na iji nchịkọta akụkọ ọkacha mmasị gị.

# vi /etc/sysctl.conf

Tinye nhọrọ n'okpuru na njedebe nke faịlụ.

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

Chekwaa ma mechie faịlụ ahụ. Mgbe ahụ megharịa mgbanwe na sistemụ site na iji iwu sysctl.

# sysctl --system

Site na igbutu ihuenyo, ị nwere ike ịhụ nhọrọ agbakwunyere na ụkpụrụ kwesịrị ekwesị.

Na-anwale nhazi njikwa mkpọchi TCP BBR

Mgbe ịmechara nhazi ndị dị mkpa, ị nwere ike ịnwale ma ọ na-arụ ọrụ nke ọma. Enwere ọtụtụ ngwaọrụ iji tụọ ọsọ bandwidth dị ka Speedtest-CLI:

  1. Etu esi nwalee ọsọ ịntanetị gị n'ụzọ abụọ site na ahịrị iwu site na iji ngwa 'Speedtest-CLI'

Ngwaọrụ ndị ọzọ gụnyere Wget - onye nbudata faịlụ na cURL nke na-egosi bandwidth netwọkụ niile; ị nwere ike iji ha mee nnwale.

BBR Github ebe nchekwa: https://github.com/google/bbr

Ị nwekwara ike ịmasị ịgụ akụkọ ndị metụtara ya.

  1. Hazie nke gị \Speedtest Obere nkesa iji nwalee ọsọ bandwit ịntanetị
  2. Etu esi amachi bandwit netwọk nke ngwa na-eji na sistemụ Linux nwere aghụghọ
  3. Otu esi agbanwe kernel Runtime Parameters n'ụzọ na-adịgide adịgide na nke anaghị adịgide adịgide

N'ime edemede a, anyị gosiri otu esi ebuli ọsọ ịntanetị nkesa Linux site na iji TCP BBR njikwa mkpọchi na Linux. Nwalee ya n'ụzọ zuru ezu n'okpuru ọnọdụ dị iche iche ma nye anyị nzaghachi ọ bụla dị mkpa site na ụdị nkọwa n'okpuru.