Ping neden yükseldi? Yol, tıkanıklık ve oyun sunucusunda gecikme teşhisi
Dün 25 ms olan ping bugün 90 ms'e çıktıysa sebep mesafe değildir — mesafe değişmedi. Değişen şey ya yol, ya yoldaki yoğunluk, ya da sunucunun kendi yükü. Bu üçü farklı yerlerde çözülür ve hangisinde olduğunuzu on dakikada ayırt edebilirsiniz.
Sunucu almadan önce lokasyon seçmek ve beklenen değerleri ölçmek ayrı bir konudur; onun tamamı sunucu lokasyonu ve ping yazısında. Buradaki soru farklı: çalışan bir sunucuda ping neden bozuldu?
Önce ayırın: kimde yükseldi?
Bu tek soru teşhisin yarısıdır.
- Tek bir oyuncuda yükseldiyse sorun büyük olasılıkla onun kendi bağlantısındadır. Mobil veri, uzun bakır hat veya evdeki Wi-Fi gecikmenin 20-40 ms'ini oyuncunun tarafında ekler ve bunu sunucu tarafından düzeltmenin yolu yoktur.
- Aynı operatördeki oyuncularda yükseldiyse sorun o operatörle sunucu arasındaki yoldadır.
- Herkeste yükseldiyse sunucuda veya sunucunun ağ bağlantısındadır.
Bu yüzden ölçümü tek bir bağlantıdan yapmayın. En az iki farklı operatörden alınan ölçüm, tek bir hattın kendine özgü sorununu ortalamadan ayırır.
1. Sunucu içinden başlayın — en ucuz kontrol bu
Yüklü bir sunucu paketi yanıtlarını geciktirir; ağ kusursuz olsa bile ping yükselir. Önce sunucunun kendi durumuna bakın:
uptime
topCPU sürekli doluysa, yük ortalaması çekirdek sayısının belirgin üstündeyse veya wa değeri yüksekse teşhis burada biter ve konu ağ değildir: sunucum neden yavaşladı
Ayrım kuralı şudur: `mtr` son atlamada düşük gecikme gösterirken oyun içi ping yüksekse sorun ağda değil, sunucuda veya uygulamadadır. Ağ paketi 20 ms'de taşıyorsa kalan 70 ms sunucunun işleme süresidir.
2. Yolu ölçün ve doğru okuyun
mtr -r -c 100 185.137.98.29mtr çıktısı yanlış okunduğunda insanı kolayca yanlış yere gönderir. Üç kural:
- Ara bir atlamadaki
Loss%genelde o cihazın ICMP yanıtlarını sınırlamasıdır, gerçek kayıp değildir. Anlamlı olan son satırdaki kayıptır. - Gecikme bir atlamada artıp sonraki atlamalarda da yüksek kalıyorsa artış gerçektir; o noktadan sonra yol uzamış veya tıkanmıştır.
- Gecikme tek bir atlamada zıplayıp hemen ardından düşüyorsa o cihaz kendisine gelen ICMP'ye düşük öncelik veriyordur; bu bir sorun değildir.
Atlama adlarına da bakın. Yurt içinde kalması gereken bir yolda yurt dışı bir şehir adı geçiyorsa trafik dolaşarak gidiyor demektir ve fark 40-50 ms'i bulur.
3. Doğru protokolü ölçün
Birçok ağ ICMP'yi düşük öncelikle işler, yani ping sayısı oyununuzun gerçek trafiğini temsil etmeyebilir. Oyun portunun kendisini ölçmek daha doğrudur:
mtr -u -P 30120 185.137.98.29
nc -vz 185.137.98.29 27015Birinci komut UDP ile yolu ölçer, ikincisi bir TCP portunun dışarıdan açık olup olmadığını hızlıca söyler. Oyun başına port ve kaynak önerileri oyun sunucusu paketlerinde listeleniyor.
4. Saate ve yöne dikkat edin
Ölçümün ne zaman alındığı sonucu değiştirir. Gündüz 30 ms olan bir yol akşam 21:00-24:00 arasında 60 ms olabilir; bu, yol üzerinde bir tıkanıklığın imzasıdır ve tek bir gündüz ölçümüyle hiç görünmez.
İkinci ayrıntı yön asimetrisidir: giden ve dönen paketler aynı yolu izlemek zorunda değildir. Oyuncudan sunucuya alınan mtr temiz görünürken sunucudan oyuncuya alınan ölçüm bozuk çıkabilir. Destek talebinde en çok işe yarayan şey, iki yönün de ölçülmüş olmasıdır.
5. Ortalamaya değil dalgalanmaya bakın
Oyuncular ortalamayı değil sıçramaları fark eder. Sabit 45 ms, 20 ile 80 arasında zıplayan bir bağlantıdan iyidir. Linux'ta ping çıktısının son satırındaki mdev değeri bu dalgalanmanın kaba ölçüsüdür; 5 ms'in altı iyi, 20 ms'in üstü şikâyet üreten aralıktır. Sürekli %1'in üzerindeki paket kaybı ise FPS oyununda yüksek ortalamadan daha rahatsız edicidir. Ses trafiğinde de belirleyici olan aynı şeydir; TeamSpeak barındırma tarafında dalgalanma doğrudan konuşmayı böler.
6. Ani ve açıklanamayan sıçrama saldırı olabilir
Ping ile birlikte gelen trafik hacmi de dikey biçimde yükseldiyse ve bu bir oyun etkinliğiyle açıklanmıyorsa, elemeniz gereken bir ihtimal daha var: DDoS saldırısı altında mıyım
Ne zaman destek talebi açmalı
Şu üç bulgudan biri varsa sunucu içinde yapılabilecek bir şey kalmamıştır:
mtrçıktısında gecikmenin arttığı atlama sağlayıcı ağının içinde ve artış sonraki atlamalarda da sürüyor.- Birden fazla operatörden alınan ölçümde aynı sıçrama görünüyor.
- Sunucu içi ölçümler (
uptime,top) tamamen temiz ama oyun içi ping yüksek.
Talebe iki yönlü mtr çıktısını, ölçümün alındığı saati, oyuncunun operatörünü ve oyun portunu ekleyin. Yönlendirme kaynaklı bir sorun ağ tarafında düzeltilebilir bir şeydir; mesafe kaynaklı olan değildir. Sunucunuz yanlış lokasyondaysa çözüm de farklıdır: sanal sunucu paketlerinde lokasyon sipariş sırasında seçilir ve yurt içi bir konum, yurt dışı bir sağlayıcıya göre 20-40 ms'lik doğrudan bir kazançtır.