ایم ٹی یو کی ترتیبات کے ساتھ اوبنٹو انٹرنیٹ اسپیڈ کو کس طرح بہتر بنائیں



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

اگرچہ کمپیوٹر ٹیکسٹ ان کی اصطلاح کے استعمال میں مختلف ہیں ، اوبنٹو TCP میکسمیم ٹرانسمیشن یونٹ (MTU) کا استعمال کرتے ہیں تاکہ TCP / IP نیٹ ورکنگ کنکشن کے ذریعہ ایک مشین TCP پیکٹ بھیج سکے۔ اگرچہ اس قدر کا حساب لگانا نسبتا simple آسان ہے اور اکثریت مشینوں پر پہلے سے طے شدہ کام کرتا ہے ، لیکن اگر غیر معمولی ترتیبات کی وجہ سے پیکٹ ٹکڑے ٹکڑے ہو رہے ہوں تو اپنے نظام کو مزید بہتر بنانا ممکن ہوسکتا ہے۔ بڑے واحد باہر جانے والے پیکٹ بھیجنا ایک سے زیادہ چھوٹے جانے والے پلے بھیجنے سے کہیں زیادہ موثر ہے۔



آپ کی مشین کے لئے صحیح ایم ٹی یو کی قیمت کا پتہ لگانے کا آسان ترین طریقہ یہ ہے کہ ٹرمینل ونڈو کھولنا ہے۔ سی ٹی آر ایل ، اے ٹی ایل اور ٹی کو تھامے رکھیں یا شائد اسے اتحاد کے ڈیش سے شروع کریں۔ اگر آپ اوبنٹو سرور کے ساتھ کام کر رہے ہیں تو ، پھر آپ کسی گرافیکل ماحول کے بغیر کسی سی ایل ایل انٹرفیس میں ڈیفالٹ ہوجائیں گے۔ ایک بار جب آپ ٹرمینل پر پہنچ جائیں تو ، پنگ -s 1464 -c1 distrowatch.com ٹائپ کریں اور آؤٹ پٹ کا انتظار کریں۔ اگر آپ کو کچھ نہیں مل رہا ہے ، تو آپ کا نیٹ ورکنگ کنیکشن درست طریقے سے تشکیل نہیں ہوا ہے۔ فرض کریں کہ آپ کو مناسب آؤٹ پٹ موصول ہوئی ہے ، پھر کسی ایسے حصے کی تلاش کریں جس میں 1464 (1492) بائٹس ڈیٹا پڑھے ، جو اس بات کی نشاندہی کرتا ہے کہ آپ 28 بائٹس ہیڈر کی معلومات کے ساتھ پیکٹ بھیج رہے ہیں۔



طریقہ 1: پیکٹ فریگمنٹٹیشن کے لئے پنگ آؤٹ پٹ کی جانچ کر رہا ہے

پنگ کمانڈ آپ کو یہ بتائے گا کہ آیا پیکٹ ایک سے زیادہ ٹکڑوں کے طور پر بھیجا گیا تھا جس میں متعدد ہیڈر ڈیٹا منسلک تھا۔ کسی بھی لائن کے ل any آؤٹ پٹ کا معائنہ کریں جو 'Frag کی ضرورت اور DF سیٹ (mtu = 1492)' یا اس سے ملتے جلتے متن سے متعلق کسی چیز کے بارے میں متنبہ کرے۔ آپ کے اوبنٹو کے ورژن کے ساتھ پنگ کے کس ورژن کو شامل کیا گیا تھا اس پر انحصار کرتے ہوئے ، انتباہ کو مختلف انداز میں بھی کہا جاسکتا ہے۔ اگر یہ متن موجود نہیں ہونا چاہئے تو اس سے کہیں زیادہ امکان ہے کہ آپ پہلے ہی کچھ ایم ٹی یو پیمائش کے ساتھ کام کر رہے ہیں جو موجودہ وقت میں بکھری پیکٹ نہیں بھیج رہا ہے۔



اپنے سسٹم کے لئے انتہائی موزوں ایم ٹی یو تلاش کرنے کے ل you ، آپ اس پنگ کمانڈ کو ایک چھوٹے پیکٹ سائز کے ساتھ چلانا چاہیں گے ، اور پھر وقت کے ساتھ اس میں اضافہ کریں گے جب تک کہ اس کو ٹوٹنا شروع نہ ہوجائے جس کے بعد آپ اسے اپنے کٹ آف پوائنٹ پر غور کریں۔ یاد رکھیں کہ ایم ٹی یو = پے لوڈ + 28 ، چونکہ ہیڈر کے اعداد و شمار کے ل some کچھ گنجائش کی ضرورت ہے۔ اب ، اگر آپ بغیر کسی ٹکڑے کے سائز کو بہت بڑی چیز میں بڑھا سکتے ہیں ، تو آپ کا نیٹ ورک انٹرفیس ٹکڑے پیدا کرنے کی ضرورت کے بغیر بڑے پیمانے پر پیکٹ سنبھال سکتا ہے۔ جب آپ آخر کار کسی فریگ کی ضرورت والی انتباہی کو دیکھتے ہیں تو اس کا مطلب یہ ہے کہ آپ جس پےلڈ یا اس سے زیادہ پے لوڈ کے ساتھ بھیجا ہوا پیکٹ ایک سے زیادہ پیکٹ کے بطور بھیجے گا۔ فرض کریں کہ اگر آپ بغیر کسی انتباہ کے Ping -s 2464 -c1 distrowatch.com کی کوشش کرتے ہیں ، لیکن پنگ -s 2465 -c1 distrowatch.com انتباہ بھیجتا ہے ، اس کا مطلب یہ ہے کہ 2،464 + 28 سب سے بڑی MTU ہے جو آپ کی TCP / IP ترتیب سنبھال سکتا ہے ایک سے زیادہ بکھری پیکٹ بھیجنے سے پہلے۔ عین قدر کی نشاندہی کرنے میں چند لمحے لگ سکتے ہیں۔



ایک بار جب آپ پنگ کمانڈ کو متعدد بار چلانے سے ذہن میں رکھیں گے تو آپ کو چلانے کی ضرورت ہوگی sudo ifconfig معلوم نیٹ ورک انٹرفیس کی فہرست تلاش کرنے کے ل.۔ اوبنٹو اور اس کے مشتق افراد نے اصلی اکاؤنٹ کھینچ لیا ہے ، لیکن ہم نے اپنی مثال کے طور پر سوڈو بش کے ذریعہ تیار کردہ شیل سے کام کیا۔ اس کی سفارش کی گئی ہے بلکہ ہر حکم کو فرداually فردا su فراموش کریں۔

جیسے ہی آپ کو درست آلہ معلوم ہوگا ، کوشش کریں:

sudo ifconfig انٹرفیس نامی آدمی ####

انٹرفیس نام کو اس نیٹ ورک کے اڈاپٹر کے نام سے تبدیل کریں جس کے ساتھ آپ کام کر رہے ہیں ، اور پھر ہیڈر کی معلومات کے ل # آپ کے سائز کے ساتھ #### تبدیل کریں۔ آپ ifconfig چلا سکتے ہیں یہ دیکھنے کے لئے کہ آپ کی NIC کے لئے پہلے سے طے شدہ MTU کیا تھا اور ایک بار پھر اسے چلانے کے ل. یہ دیکھنے کے ل this کہ اس سابقہ ​​کمانڈ نے اسے تبدیل کیا ہے۔ کچھ نیٹ ورک انٹرفیس اڈاپٹر آسانی سے آپ کو اسے تبدیل نہیں ہونے دیں گے۔ اگر ایسی بات ہے تو بدقسمتی سے مزید اصلاح بے نتیجہ ہوگی۔ اگر ، تاہم ، اس نے کام کیا ، تو آپ واقعتا. اسے مستقل کرسکتے ہیں۔ چلانے کی کوشش کریں ifconfig | گریپ ایم ٹی یو تمام اقدار کو تلاش کرنے کے ل have اگر آپ کے متعدد کنیکٹر ہیں ، اور پھر آپ ان اقدار سے مل سکتے ہیں جن کے ساتھ آپ کام کر رہے ہیں۔

طریقہ 2: ایم ٹی یو کی اصلاح کو قائم رہنا

اب تک آپ نے اپنے سسٹم میں کوئی مستقل تبدیلی نہیں کی ہے۔ اگر آپ ربوٹ کرتے ہیں تو پھر آپ کسی قسم کی تبدیلیاں ختم کردیں گے ، یہ اچھی بات ہے اگر آپ نے کچھ غلطی کی ہے اور یہ پتا چلا ہے کہ آپ اب انٹرنیٹ سے رابطہ نہیں کرسکتے ہیں۔ دوسری طرف ، اگر آپ کو اپنے ایم ٹی یو کے لئے ایک درست قدر مل گئی ہے ، تو آپ کو ترمیم کرنے کی ضرورت ہوگی دستاویز اگر کچھ ہوتا ہے تو اس کی کاپی بنانے کے لئے یہ شاید اچھا وقت ہے۔ کوشش کریں یا کچھ ایسی ہی چیز ہے تاکہ آپ کے پاس بھی اس کی ایک کاپی موجود ہو۔ اگر آپ تصو graphرات کے لحاظ سے اس میں ترمیم کرنا چاہتے ہیں تو ٹائپ کریں اور اپنا پاس ورڈ درج کریں۔ اگر آپ کیوبنٹو ، زوبنٹو یا لبنٹو استعمال کررہے ہیں ، تو آپ کو اوبنٹو ریسین استعمال کرنے والے گرافیکل ٹیکسٹ ایڈیٹر کے ساتھ جیوڈٹ کی جگہ لینا ہوگی۔ مثال کے طور پر ، Xubuntu gedit کی بجائے ماؤس پیڈ استعمال کرتا ہے۔ اگر آپ اوبنٹو سرور استعمال کررہے ہیں یا کمانڈ لائن کے ساتھ کام کرنے کو ترجیح دیتے ہیں تو اس کے بجائے ٹائپ کریں ، فرض کرتے ہو کہ آپ روٹ شیل استعمال نہیں کررہے ہیں۔

اس میں قطع نظر کہ آپ اسے کس طریقہ میں ترمیم کرتے تھے ، انٹرفیس کا نام تلاش کریں ifconfig اس سے پہلے تھوک دیں۔ فرض کریں کہ آپ اپنی مشین پر پہلے وائی فائی کنیکٹر کو دیکھ رہے ہیں ، جس کا نام شاید wlan0 یا اس سے ملتا جلتا ہوگا۔ اس معاملے میں ، کوڈ کا ایک ٹکڑا تلاش کریں جو شروع ہوجائے iface wlan0 inet جامد یا اسی طرح کی کسی چیز سے۔ آپ کا مائلیج مختلف ہوسکتا ہے ، لیکن اگلی لائن میں IP پتے کے بعد پتہ پڑھیں گے ###. ###. #. ## فارمیٹ۔ اگر آپ مقامی IPv6 کنکشن پر ہیں تو ، اس کی شکل مختلف ہوسکتی ہے۔ آپ کے پاس نیٹ ماسک اور گیٹ وے لائن ہوگی ، اس کے بعد کچھ ایسا ہوگا جس میں میزبان کے نام یا اس سے ملتی جلتی کوئی چیز ملتی ہے۔ نچلے حصے میں ، آپ کے پاس ایک اور لائن ہوگی جو ایم ٹی یو اور ایک نمبر پڑھتی ہے۔ اس نمبر کی اصلاح ایم ٹی یو کی قدر کے ساتھ کریں ، دستاویز کو محفوظ کریں اور پھر ٹیکسٹ ایڈیٹر سے باہر نکلیں۔ آپ اس کو یقینی بنانے کے ل reb سسٹم کو دوبارہ شروع کرنا چاہتے ہیں۔

کیا کئی ربوٹوں کے بعد سب کچھ ٹھیک ہونا چاہئے ، پھر آپ کی ~ / دستاویزات ڈائرکٹری میں انٹرفیسس۔بیک فائل کو حذف کردیں۔ اس کے بجائے آپ sudo mv استعمال کرسکتے ہیں اور پھر

اگر اس عمل میں کچھ بھی خراب ہوگیا۔

طریقہ 3: ترمیم کرنا TCP وصول ونڈو (RWIN) کی ترتیبات

اوبنٹو ڈیٹا کی سب سے بڑی رقم سے مراد ہے جو میزبان بھیجنے والے کو RWIN ویلیو کے طور پر تسلیم کرنے سے پہلے قبول کرتا ہے۔ اگر آپ 30 ایم بی فائل ڈاؤن لوڈ کرتے ہیں تو پھر ریموٹ سرور آپ کو فوری طور پر 30 ایم بی کا ڈیٹا نہیں بھیجتا ہے۔ آپ کا اوبنٹو میزبان ایک مخصوص RWIN نمبر بھیجتا ہے جب وہ فائل کی درخواست کرتا ہے ، اور پھر سرور اس وقت تک ڈیٹا کو اسٹریم کرنا شروع کردیتا ہے جب تک کہ یہ بائٹس کی تعداد تک نہ پہنچ جائے اس سے پہلے کہ اس بات کا اعتراف نہ ہوجائے کہ آپ کے سسٹم کو ڈیٹا مل گیا ہے۔ ایک بار سرور کو یہ موصول ہونے کے بعد ، وہ کسی اور اعتراف کا انتظار کرنے سے پہلے اضافی بلاکس بھیجنا شروع کردیتا ہے۔

لیٹینسی میں ریموٹ سرور سے پیکٹ بھیجنے اور وصول کرنے میں وقت لگتا ہے۔ رابطے کی شرحیں اس قدر میں اہم کردار ادا کرتی ہیں ، لیکن اس طرح دیگر متعدد تاخیریں کرتی ہیں۔ پنگ کمانڈ راؤنڈ ٹرپ ٹائم (آر ٹی ٹی) نمبروں کے لحاظ سے تاخیر کی وضاحت کرے گی۔ ڈسٹروواچ کے ہمارے پچھلے پنگ سے آؤٹ پٹ کو دیکھیں۔ آپ کو ایک لائن مل جائے گی جس میں وقت = 134 ایم ایس پڑھتا ہے ، جس سے ہماری اوبنٹو مشین سے لے کر ڈسٹرووچ ڈاٹ کام تک اور دوبارہ واپس آنے والے پیکٹوں کو کتنا وقت لگتا تھا۔ ہم ایک 1،492 بائٹ کا پیکٹ بھیج رہے تھے ، لہذا 134 ایم ایس پر ہم منتقلی کی کل رفتار تلاش کرنے کے لئے ایک فارمولہ کا حساب لگاسکتے ہیں۔

1،492 / .134 سیکنڈ = 11،134.328 بائٹ / سیکنڈ ، جو تقریبا 10. 10.88 بائنری کلو بائٹ فی سیکنڈ میں آتا ہے۔ یہ مجموعی طور پر آہستہ ہے ، یہی وجہ ہے کہ RWIN آپ کو انفرادی طور پر بھیجے گئے ہر پیکٹ کو تسلیم کرنے سے روکنے کے لئے آپ کے پاس ہے۔

اوبنٹو میں RWIN کی ترتیبات MTU کی ترتیبات سے الگ ہیں۔ اس فارمولے کے ذریعہ اپنے انٹرنیٹ کنیکشن کے لئے بینڈوتھ ڈیل پروڈکٹ (بی ڈی پی) کا حساب لگائیں:

(آپ کے انٹرنیٹ کنکشن کی کل زیادہ سے زیادہ بینڈ وڈتھ فی سیکنڈ میں بائٹ میں فراہم کی جانی چاہئے) (RTT in سیکنڈز) = BDP

ٹی سی پی پیکٹ کا سائز RWIN پر اثر انداز نہیں ہوتا ہے ، لیکن پیکٹ کا سائز خود ہی طریقہ 1 میں منتخب کردہ قدر سے متاثر ہوتا ہے۔ RWIN سے متعلق دانی متغیر تلاش کرنے کے لئے اس کمانڈ کا استعمال کریں:

براہ کرم ذہن میں رکھیں کہ _Mem کے بعد بھی ایک جگہ ہے ، لیکن حوالے کے متن میں کہیں اور نہیں ہے۔ آپ کو کئی اقدار واپس ملیں گی۔ جس کی ضرورت ہے وہ ہیں net.ipv4.tcp_rmem ، net.ipv4.tcp_wmem اور net.ipv4.tcp_mem . ان اقدار کے بعد کی تعداد ہر ایک کیلئے کم سے کم ، پہلے سے طے شدہ اور زیادہ سے زیادہ اقدار کی نمائندگی کرتی ہے۔ وہ وصول ونڈو میموری ویکٹر کی نمائندگی کرتے ہیں ، ویکٹر اور ٹی سی پی اسٹیک ویکٹر بھیجتے ہیں۔ اگر آپ اوبنٹو کلن چلا رہے ہیں تو آپ کے پاس اضافی افراد کی ایک لمبی فہرست ہوسکتی ہے۔ آپ ان اضافی اقدار میں سے کسی کو بھی سلامتی سے نظرانداز کرسکتے ہیں۔ ممکن ہے کہ کائلن کے کچھ صارفین دیگر اسکرپٹس میں بیان کردہ کچھ قدروں کو بھی دیکھیں ، لیکن ایک بار پھر ان لائنوں کو تلاش کریں۔

اوبنٹو کے پاس RWIN متغیر نہیں ہے ، لیکن نیٹ.ipv4.tcp_rmem قریب ہے۔ یہ تغیرات نہ صرف ٹی سی پی سائز پر میموری کے استعمال کو کنٹرول کرتے ہیں۔ ان میں ڈیٹا ساکٹ ڈھانچے اور بڑے پیمانے پر بفروں میں مختصر پیکٹوں کے ذریعہ کھایا گیا میموری شامل ہے۔ اگر آپ ان اقدار کو بہتر بنانا چاہتے ہیں تو ، آپ نے طریقہ 1 میں طے شدہ زیادہ سے زیادہ سائز کے پیکٹ کسی دوسرے ریموٹ سرور کو بھیجیں۔ آئیے ہیڈر کی معلومات کے ل 28 28 بائٹس کو گھٹاتے ہوئے ایک بار پھر 1،492 بائٹ ڈیفالٹ استعمال کریں ، لیکن یاد رکھیں کہ آپ کی قدر مختلف ہوسکتی ہے۔ اضافی آر ٹی ٹی ڈیٹا حاصل کرنے کے لئے کمانڈ پنگ -s 1464 -c5 distrowatch.com استعمال کریں۔

آپ اس آزمائش کو دن اور رات کے مختلف اوقات میں ایک سے زیادہ بار چلانا چاہیں گے۔ کچھ دوسرے ریموٹ سرورز کو بھی پنگ کرنے کی کوشش کریں تاکہ یہ معلوم ہو سکے کہ RTT کتنا مختلف ہوتا ہے۔ چونکہ جب بھی ہم نے ہر بار اس کی کوشش کی ہے اوسطا ms 130 ایم ایس سے تھوڑا سا زیادہ ہے ، لہذا ہم اپنے BDP کو معلوم کرنے کے لئے اس فارمولے کا استعمال کرسکتے ہیں۔ آئیے فرض کریں کہ آپ بہت عمومی 6 مابٹس / سیکنڈ کنیکشن پر ہیں۔ بی ڈی پی یہ ہوگی:

(6،000،000 بٹس / سیکنڈ) (133 سیکنڈ) * (1 بائٹ / 8 بٹس) = 99،750 بائٹس

اس کا مطلب ہے کہ پہلے سے طے شدہ نیٹ.ipv4.tcp_rmem ویلیو 100،000 کے قریب ہو۔ اگر آپ کو خدشہ ہے کہ آپ کو RTT نصف سیکنڈ کی طرح خراب ہو جائے گی تو آپ اسے اور بھی اونچا بنا سکتے ہیں۔ net.ipv4.tcp_rmem اور net.ipv4.tcp_wmem میں پائی جانے والی تمام اقدار کو یکساں طور پر متعین کرنے کی ضرورت ہے ، کیونکہ اسی انٹرنیٹ کنیکشن پر پیکٹوں کی ترسیل اور استقبال ہوتا ہے۔ آپ عام طور پر نیٹ.ipv4.tcp_wmm کو اسی قدر پر سیٹ کرنا چاہتے ہیں جو net.ipv4.tcp_wmem اور net.ipv4.tcp_rmem کے ذریعہ استعمال ہوتا ہے کیونکہ یہ پہلا متغیر ٹی سی پی ٹرانزیکشنز کے لئے سیٹ کردہ کل سب سے بڑا بفر میموری میموری ہے۔

حکم جاری کریں اور دیکھیں کہ آیا یہ دونوں ترتیبات 0 یا 1 پر سیٹ ہیں ، جو اس حالت کی نشاندہی کرتی ہے۔

نیٹ.ipv4.tcp_no_metics_save کو 1 پر ترتیب دینے سے لینکس کے دانے کو متحرک انداز میں نیٹ.ipv4.tcp_rmem اور net.ipv4.tcp_wmem اقدار کے مابین وصول شدہ ونڈو کو بہتر بنانے پر مجبور کیا جائے گا۔ جب نیٹ.ipv4.tcp_moderate_rcvbuf کو فعال کیا جاتا ہے ، تو یہ بھیڑ کو بعد کے رابطوں کو متاثر کرنے سے روکتا ہے۔ کوئی مستقل تبدیلیاں کرنے سے پہلے ، اس بات کو یقینی بنانے کے لئے کہ آپ کی پیمائش پر کوئی ہینڈل موجود ہے اس کے لئے http://www.speedtest.net یا http://www.bing.com/search؟q=speed+test کے ذریعے اسپیڈ چیک کریں۔

عارضی طور پر اپنے حساب شدہ اقدار کے ساتھ متغیرات کو تبدیل کریں۔ اس بات کو یقینی بنائیں کہ آپ # کی تعداد کو اپنی گنتی ہوئی رقم سے تبدیل کریں۔

sudo sysctl -w net.ipv4.tcp_rmem = '#### ##########' نیٹ.ipv4.tcp_wmem = '#### #############' net.ipv4.tcp_mem = '#### ############' 'net.ipv4.tcp_no_metics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1

اپنے کنیکٹ کو دوبارہ دیکھنے کے لtest دیکھیں کہ آیا رفتار میں بہتری آئی ہے ، اور اگر نہیں تو پھر اپنے حکم کو موافقت دے کر اسے دوبارہ سے چلائیں۔ یاد رکھیں کہ آپ آخری بار استعمال شدہ کمانڈ کو دہرانے کے لئے اپنے ٹرمینل میں موجود اپ کی کو دبائیں گے۔ ایک بار جب آپ کو مناسب قدریں مل گئیں تو کھولیں کے ساتہ gksu یا sudo متن 1 میں ایڈیٹر کمانڈ کریں ، اور مندرجہ ذیل کے طور پر پڑھنے کے ل the لائنوں میں ترمیم کریں ، ایک بار پھر # کی جگہ کو اپنے حساب کردہ اقدار سے تبدیل کریں۔ آپ یقینا. اس کا بیک اپ بھی لینا چاہیں گے اسی طرح فائل کریں جس طرح آپ نے غلطی کی ہے اسی طرح اگر آپ نے ایک حصے میں کیا تھا۔ اگر آپ نے ایک بنا لیا ہے ، تو آپ بھی اسی انداز میں بحال کرسکتے ہیں۔

net.ipv4.tcp_rmem = #### ##############

net.ipv4.tcp_wmem = #### ##############

net.ipv4.tcp_mem = #### #############

net.ipv4.tcp_no_metrics_save = 1

net.ipv4.tcp_moderate_rcvbuf = 1

ایک بار جب آپ کو یقین ہو جائے کہ سب کچھ ٹھیک ہے اس کو محفوظ کریں۔ مندرجہ ذیل حکم جاری کریں:

sudo sysctl -p

یہ لینکس کے دانا کو ترتیبات کو دوبارہ لوڈ کرنے پر مجبور کرے گا ، اور اگر سب ٹھیک ہو گیا ہے تو اس سے آپ کو کم سے کم تیز رفتار نیٹ ورک کنکشن ملنا چاہئے۔ آپ کے اصل ڈیفالٹس پر انحصار کرتے ہوئے ، فرق حقیقت میں ڈرامائی ہوسکتا ہے یا ممکنہ طور پر بالکل قابل توجہ نہیں ہوتا ہے۔

8 منٹ پڑھا