كيفية نشر Google BBR على CentOS 7

BBR (Bottleneck Bandwidth and RTT) هي خوارزمية جديدة للتحكم في الازدحام تساهم فيها Google في حزمة Linux kernel TCP. مع وجود BBR في مكانه ، يمكن لخادم Linux زيادة الإنتاجية بشكل كبير وتقليل وقت الاستجابة للاتصالات. إلى جانب ذلك ، من السهل نشر BBR لأن هذه الخوارزمية تتطلب تحديثات فقط من جانب المرسل ، وليس في الشبكة أو على جانب جهاز الاستقبال.

في هذه المقالة ، سأوضح لك كيفية نشر BBR على مثيل خادم Vultr CentOS 7 KVM.

المتطلبات الأساسية

الخطوة 1: ترقية النواة باستخدام مستودع ELRepo RPM

من أجل استخدام BBR ، تحتاج إلى ترقية نواة جهاز CentOS 7 إلى 4.9.0. يمكنك القيام بذلك بسهولة باستخدام مستودع ELRepo RPM.

قبل الترقية ، يمكنك إلقاء نظرة على النواة الحالية:

uname -r

يجب أن يخرج هذا الأمر سلسلة تشبه:

3.10.0-514.2.2.el7.x86_64

كما ترى ، النواة الحالية هي 3.10.0.

تثبيت الريبو الريبو:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

تثبيت النواة 4.9.0 باستخدام الريبو الريبو:

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

تأكيد النتيجة:

rpm -qa | grep kernel

إذا كان التثبيت ناجحًا ، فيجب أن ترى من kernel-ml-4.9.0-1.el7.elrepo.x86_64بين قائمة الإخراج:

kernel-ml-4.9.0-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.2.2.el7.x86_64
kernel-tools-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64

الآن ، تحتاج إلى تمكين 4.9.0 kernel عن طريق إعداد إدخال التمهيد grub2 الافتراضي.

إظهار كافة الإدخالات في قائمة grub2:

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

يجب أن تشبه النتيجة:

CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.9.0-1.el7.elrepo.x86_64)
CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bf94f46c6bd04792a6a42c91bae645f7) 7 (Core)

تبدأ الفهرسة في 0. هذا يعني أن نواة 4.9.0 تقع في 1:

sudo grub2-set-default 1

إعادة تشغيل النظام:

sudo shutdown -r now

عندما يكون الخادم متصلاً بالإنترنت مرة أخرى ، قم بتسجيل الدخول مرة أخرى وأعد تشغيل الأمر uname للتأكد من أنك تستخدم Kernel الصحيح:

uname -r

يجب أن ترى النتيجة على النحو التالي:

4.9.0-1.el7.elrepo.x86_64

الخطوة 2: تمكين BBR

لتمكين خوارزمية BBR ، تحتاج إلى تعديل sysctlالتكوين على النحو التالي:

echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

الآن ، يمكنك استخدام الأوامر التالية لتأكيد تمكين BBR:

sudo sysctl net.ipv4.tcp_available_congestion_control

يجب أن يشبه الإخراج:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

بعد ذلك ، تحقق مع:

sudo sysctl -n net.ipv4.tcp_congestion_control

يجب أن يكون الإخراج:

bbr

أخيرًا ، تحقق من تحميل وحدة kernel:

lsmod | grep bbr

سيكون الناتج مشابهًا لما يلي:

tcp_bbr                16384  0

الخطوة 3 (اختياري): اختبر تحسين أداء الشبكة

لاختبار تحسين أداء شبكة BBR ، يمكنك إنشاء ملف في دليل خادم الويب للتنزيل ، ثم اختبار سرعة التنزيل من متصفح الويب على جهاز سطح المكتب.

sudo yum install httpd -y
sudo systemctl start httpd.service
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
cd /var/www/html
sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500

أخيرًا ، قم بزيارة عنوان URL http://[your-server-IP]/500mb.zipمن متصفح الويب على كمبيوتر سطح المكتب ، ثم قم بتقييم سرعة التنزيل.

هذا كل شئ. شكرا لقرائتك.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد