MTU Ayarları ile Ubuntu İnternet Hızını Optimize Etme
Bilgisayar metinleri terimin uygulanmasında farklılık gösterirken, Ubuntu bir makinenin TCP / IP ağ bağlantısı üzerinden geçebileceği en büyük boyuta bakmak için TCP Maksimum İletim Birimini (MTU) kullanır. Bu değerin hesaplanması nispeten basitken ve varsayılanlar makinelerin çoğunluğu üzerinde çalışırken, paketler olağandışı ayarlardan dolayı parçalanıyorsa, sisteminizi daha da optimize etmek mümkün olabilir. Büyük tekli giden paketler göndermek, daha küçük birden çok giden gönderi göndermekten daha verimlidir.
Makineniz için doğru MTU değerini bulmanın en kolay yolu bir terminal penceresi açmaktır. CTRL, ATL ve T tuşlarını basılı tutun ya da belki de Unity çizgisinden başlatabilirsiniz. Ubuntu Server ile çalışıyorsanız, o zaman hiçbir grafik ortamı olmayan bir CLI arayüzüne varsayılan olacaksınız. Terminalde olduğunuzda ping -s 1464-c1 distrowatch.com yazıp çıkışı bekleyin. Hiçbir şey almıyorsanız, ağ bağlantınız doğru şekilde yapılandırılmamış. Doğru çıktı aldığınızı varsayarak, 14 bayt (1492) bayt veri okuyarak, paketin 28 bayt başlık bilgisi gönderdiğinizi gösteren bir bölüm arayın.
Yöntem 1: Paket parçalanma için ping çıktısını inceleme
Ping komutu, paketin birden fazla başlık verisi eklenmiş birden fazla parça olarak gönderilip gönderilmediğini size bildirecektir. Frag'un ihtiyaç duyduğu ve DF seti (mtu = 1492) veya benzer bir metin ile ilgili bir şey hakkında uyarı veren herhangi bir satırın çıktılarını inceleyin. Ubuntu sürümünüze hangi ping sürümünün dahil edildiğine bağlı olarak uyarı farklı şekilde ifade edilebilir. Bu metin mevcut değilse, o anda parçalı paketler göndermeyen bazı MTU ölçümleriyle zaten çalışıyor olmanız muhtemeldir.
Sisteminiz için en uygun MTU'yu bulmak için, bu ping komutunu küçük bir paket boyutuyla çalıştırmak istersiniz ve zamanla, parçalanma başlatana kadar bunu artırın, ardından bunu kesme noktanız olarak görürsünüz. Başlık verileri için bir yer olması gerektiğinden, MTU = veri yükünün + 28 olduğunu unutmayın. Artık, boyutu herhangi bir parça olmadan çok büyük bir boyuta yükseltebiliyorsanız, ağ arabiriminiz parça oluşturmaya gerek duymadan masif paketleri ele alabilir. Sonunda bir Frag gerekli uyarısı gördüğünüzde, bu, yüklediğiniz kargo ile gönderilen paketin kaç veya daha fazla paket olarak gönderileceği anlamına gelir. Ping -s 2464-c1 distrowatch.com'u herhangi bir uyarı olmadan denerseniz, ping -s 2465-c1 distrowatch.com'un bir uyarı gönderirse, bunun, 2, 464 + 28'in TCP / IP yapılandırmanızın halledebileceği en büyük MTU olduğunu kabul edersiniz. Birden çok parçalanmış paket göndermeden önce. Tam bir değeri saptamak birkaç dakika sürebilir.
Birden çok kez ping komutunu çalıştırmanın aklında bir değer olduğunda, bilinen ağ arabirimlerinin bir listesini bulmak için sudo ifconfig dosyasını çalıştırmanız gerekir. Ubuntu ve türevleri kök hesaptan çıkar, ancak örneklerimiz için sudo bash tarafından yaratılmış bir kabuktan işledik. Her komutu tek tek sudo ile önsözlemeniz tavsiye edilir.
Doğru cihazı bildiğiniz anda şunları deneyin:
sudo ifconfig interfaceName mtu ####
InterfaceName ile çalıştığınız ağ bağdaştırıcısının adını değiştirin ve bulduğunuz boyutla birlikte #### değerini artı başlık bilgisi için 28 değiştirin. Varsayılan MTU'nuzun NIC'iniz için ne olduğunu görmek için ifconfig dosyasını çalıştırabilir ve önceki komutun bunu değiştirip değiştirmediğini görmek için birden çok kez yeniden çalıştırabilirsiniz. Bazı ağ arabirim bağdaştırıcıları değiştirmenize izin vermez. Bu durumda, daha fazla optimizasyon ne yazık ki sonuçsız olacaktır. Bununla birlikte, bu işe yaradıysa, o zaman onu kalıcı hale getirebilirsiniz. Ifconfig'i çalıştırmayı deneyin | Birden çok bağlayıcınız varsa, tüm değerleri bulmak için grep MTU ve sonra değerleri, birlikte çalıştığınız bağlaçlarla eşleştirebilirsiniz.
Yöntem 2: MTU İyileştirmeleri Çubuğunu Yapma
Şimdiye kadar sisteminizde kalıcı bir değişiklik yapmadınız. Yeniden başlatırsanız, herhangi bir değişikliği silersiniz, bir tür hata yaptıysanız ve İnternete artık bağlanamadığınızı tespit ederseniz, bu iyi olur. Öte yandan, MTU'nuz için doğru bir değer bulduysanız, o zaman belgesi. Bu, bir şeyler olması durumunda bir kopyasını çıkarmak için iyi bir zamandır. Deneyin ya da benzer bir şey var, bu durumda sadece bir kopyası var. Grafiği düzenlemek isterseniz, ve şifrenizi girin. Eğer Kubuntu, Xubuntu veya Lubuntu kullanıyorsanız, o zaman Ubuntu'nuzun kullandığı grafiksel metin editörü ile gedit'i değiştirmeniz gerekecektir. Xubuntu, örneğin, gedit yerine mousepad kullanır. Ubuntu Server kullanıyorsanız veya komut satırı ile çalışmayı tercih ediyorsanız kök kabuk kullanmadığınızı varsayarak.
Düzenlemek için kullandığınız yöntemden bağımsız olarak, ifconfig'in daha önce tükettiği arabirimin adını bulun. Makinenizdeki ilk Wifi konektörüne baktığınızı varsayalım. Bu, muhtemelen wlan0 ya da benzer bir şey olarak adlandırılacaktır. Bu durumda, iface wlan0 inet statik veya benzeri bir şeyle başlayan bir kod snippet'i bulun. Yolculuğunuz değişebilir, ancak sıradaki adres ###. ###. #. ## biçimindeki bir IP adresi ve ardından bir IP adresi okuyacaktır. Yerel bir IPv6 bağlantısındaysanız farklı biçimlendirilmiş olabilir. Bir ağ maskesi ve ağ geçidi hattınız olacak, ardından bir ana bilgisayar adını veya benzer bir şeyi listeleyen bir şey izleyeceksiniz. Altta, mtu ve bir sayı okuyan başka bir satır olacak. Bu numarayı MTU değerini optimize ederek değiştirin, belgeyi kaydedin ve ardından metin düzenleyicisinden çıkın. Çalıştığından emin olmak için sistemi yeniden başlatmak isteyeceksiniz.
Birkaç yeniden başlatmadan sonra her şey iyi durumda olmalı, sonra ~ / Documents dizinindeki interfaces.bak dosyasını silin. Bunun yerine sudo mv kullanabilirsiniz ve sonra
Eğer süreçte herhangi bir şey ters giderse.
PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.Yöntem 3: TCP alma penceresi (RWIN) ayarları düzenleme
Ubuntu, gönderenin RWIN değeri olarak kabul edilmeden önce bir sunucunun kabul ettiği en büyük veri miktarını ifade eder. 30 MB'lık bir dosya yüklerseniz, uzak sunucu hemen size 30 MB'lık bir veri bloğu göndermez. Ubuntu sunucunuz, dosya istediğinde belirli bir RWIN numarası gönderir ve daha sonra sunucu, veriyi sisteminize aldığına dair bir onay beklemeden önce bayt sayısına ulaşana kadar akış verisini başlatır. Sunucu bunu aldıktan sonra, başka bir onay beklemeden önce ek bloklar göndermeye başlar.
Gecikme, uzak bir sunucudan paket göndermek ve almak için gereken süredir. Bağlantı oranları bu değere katkıda bulunur, ancak birçok başka gecikme de yapar. Ping komutu, gidiş geliş süresini (RTT) sayılar açısından açıklar. DistroWatch'un önceki ping'imizdeki çıktıya bakın. Zaman = 134 ms olan bir satır bulacaksın, bu paketlerin Ubuntu makinemizden distrowatch.com'a ve tekrar geri dönmesi için ne kadar sürdüğü. 1, 492 baytlık bir paket gönderiyorduk, yani 134 ms'de toplam transfer hızını bulmak için bir formül hesaplayabilirdik:
Saniyede yaklaşık 10.88 bin kilobayt'a çıkan 1, 492 / .134 saniye = 11, 134.328 bayt / saniye. Genel olarak oldukça yavaştır, bu yüzden RWIN, tek tek gönderilen her bir paketi kabul etmenizi engellemeye hazırdır.
Ubuntu'daki RWIN ayarları MTU ayarlarından ayrıdır. Bu formülü kullanarak İnternet bağlantınız için Bant Genişliği Geciktirme Ürünü'nü (BDP) hesaplayın:
(İnternet bağlantınızın saniyede Bayt cinsinden toplam maksimum bant genişliği olması gerekir) (Saniye cinsinden RTT) = BDP =
TCP paket boyutu, RWIN'yi etkilemez, ancak paket boyutunun kendisi, Yöntem 1'de seçilen değerden etkilenir. RWIN ile ilgili çekirdek değişkenlerini bulmak için bu komutu kullanın:
Lütfen, _mem'den sonra bir yer olduğunu, ancak alıntılanan metinde başka bir yer olmadığını unutmayın. Birkaç değer geri alacaksınız. Gerekenler net.ipv4.tcp_rmem, net.ipv4.tcp_wmem ve net.ipv4.tcp_mem . Bu değerlerden sonraki sayılar her biri için minimum, varsayılan ve maksimum değerleri temsil eder. Alma penceresi bellek vektörünü temsil eder, vektör ve TCP yığını vektörünü gönderir. Ubuntu Kylin'i çalıştırıyorsanız, uzun bir ek listeniz olabilir. Bu ek değerlerden herhangi birini güvenli bir şekilde göz ardı edebilirsiniz. Kylin'in bazı kullanıcıları, diğer betiklerde belirtilen bazı değerleri de görebilir, ancak bir kez daha bu satırları ararlar.
Ubuntu'nun bir RWIN değişkeni yok, ancak net.ipv4.tcp_rmem yakın. Bu değişkenler sadece TCP boyutunu değil, bellek kullanımını da kontrol eder. Veri soket yapıları ve büyük tamponlarda kısa paketler tarafından yenen bellek içerir. Bu değerleri optimize etmek isterseniz, Yöntem 1'de ayarladığınız maksimum boyut paketlerini başka bir uzak sunucuya gönderin. Başlık bilgisi için 28 baytlık çıkarma yaparak 1, 492 baytlık varsayılanı tekrar kullanalım, ancak farklı bir değere sahip olabileceğinizi unutmayın. Ek RTT verileri almak için ping -s 1464-c5 distrowatch.com komutunu kullanın.
Bu testi, günün ve gecenin farklı zamanlarında bir kereden fazla çalıştırmak isteyeceksiniz. RTT'nin ne kadar değiştiğini görmek için başka uzak sunuculara da ping yapmayı deneyin. Her denediğimizde ortalama 130 ms'nin biraz üzerinde olduğundan, BDP'yi anlamak için formülü kullanabiliriz. Çok genel bir 6 Mbits / saniye bağlantısında olduğunuzu varsayalım. BDP şöyle olurdu:
(6.000.000 bit / saniye) (. 133 sn) * (1 bayt / 8 bit) = 99, 750 bayt
Bu, varsayılan net.ipv4.tcp_rmem değerinin 100.000 civarında olması gerektiği anlamına gelir. Bir RTT'yi yarım saniye kadar kötü tutacağınızdan korkuyorsanız daha da yükseltebilirsiniz. Net.ipv4.tcp_rmem ve net.ipv4.tcp_wmem dosyasında bulunan tüm değerlerin aynı şekilde ayarlanması gerekir çünkü paketlerin aktarımı ve alımı aynı İnternet bağlantısı üzerinden gerçekleşir. Net.ipv4.tcp_mem öğesini net.ipv4.tcp_wmem ve net.ipv4.tcp_rmem tarafından kullanılan aynı değere ayarlamak istersiniz çünkü bu ilk değişken, TCP işlemleri için ayarlanan toplam en büyük arabellek bellek boyutudur.
Komutu ver ve bu ayarların her ikisinin de kapalı veya açık durumunu gösteren 0 veya 1 olarak ayarlanmış olup olmadığına bakın.
Net.ipv4.tcp_no_metrics_save değerini 1 olarak ayarlamak, Linux çekirdeğini net.ipv4.tcp_rmem ve net.ipv4.tcp_wmem değerleri arasındaki alma penceresini dinamik bir şekilde optimize etmeye zorlar. Net.ipv4.tcp_moderate_rcvbuf etkinleştirildiğinde, tıkanıklığın sonraki bağlantıyı etkilemesini önler. Herhangi bir kalıcı değişiklik yapmadan önce, ölçümlerinizde bir tutacağınız olduğundan emin olmak için http://www.speedtest.net veya http://www.bing.com/search?q=speed+test adresinden bir hız kontrolü yapın.
Değişkenleri hesaplanan değerlerle geçici olarak değiştirin. # Sayısını, hesaplanan tutarla değiştirdiğinizden emin olun.
sudo sysctl -w 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
Hızın iyileşip iyileşmediğini görmek için bağlantınızı tekrar test edin ve komutunuzu tekrar ayarlayıp tekrar çalıştırın. Son kullanılan komutu tekrarlamak için terminaldeki yukarı tuşuna basabileceğinizi unutmayın. Uygun değerleri bulduktan sonra Yöntem 1'den gksu veya sudo metin editörü komutuyla ve aşağıdaki şekilde okuyacağınız satırları düzenleyin, bir kez daha # leri hesaplanmış değerlerle değiştirin. Tabii ki de Bir hata yaptığınızda, birinci bölümde yaptığınız gibi dosyalayın. Bir tane yaptıysanız, aynı zamanda da aynı şekilde geri yükleyebilirsiniz.
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
Her şeyin yolunda olduğundan emin olduktan sonra sakla. Aşağıdaki komutu verin:
sudo sysctl -p
Bu, Linux çekirdeğindeki ayarları yeniden yüklemeye zorlayacaktır. ve eğer her şey yolunda giderse, o zaman size en azından biraz daha hızlı bir ağ bağlantısı vermelidir. Orijinal varsayılanlarınıza bağlı olarak, fark aslında dramatik veya potansiyel olarak hiç fark edilmeyebilir.
PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.