Sunucu lag'ını spark ile bulma ve giderme
TPS ve MSPT nedir, spark profiler ile sorunun kaynağı nasıl bulunur, hangi ayarlar en çok fark yaratır.
Önce ölç, sonra düzelt
Lag'ı tahminle düzeltmeye çalışmak vakit kaybıdır. Önce neyin yavaşladığını ölçmen gerekir.
TPS ve MSPT
- TPS: Saniyedeki sunucu tick sayısı. Sağlıklı değer 20'dir.
- MSPT: Bir tick'in kaç milisaniyede işlendiği. 50 ms'nin altında kalırsan 20 TPS'i korursun.
Oyuncular "lag var" dediğinde bu üç şeyden biri olabilir: sunucu tarafı (TPS düşük), ağ gecikmesi (ping yüksek) ya da oyuncunun kendi bilgisayarı (FPS düşük). Sadece ilki sunucu ayarıyla çözülür.
spark kurulumu
spark ücretsiz bir performans analiz eklentisidir. plugins klasörüne atıp sunucuyu yeniden başlat. Sonra konsoldan:
/spark tps /spark health /spark profiler start
Lag olduğu anda profiler'ı birkaç dakika çalıştır, sonra /spark profiler stop yaz. Sana bir web bağlantısı verir. Orada hangi plugin ya da işlemin zamanı yediğini ağaç olarak görürsün.
Sık karşılaşılan nedenler ve çözümler
- Çok yüksek view-distance: server.properties içinde düşür.
- Çok fazla mob ve varlık: bukkit.yml içindeki
spawn-limitsdeğerlerini azalt, spigot.yml içinde mob aktivasyon mesafelerini kıs. Çiftliklerde mob sayısını sınırla. - Yeni chunk üretimi: Oyuncular haritanın yeni yerlerini keşfederken sunucu chunk üretir ve bu ağırdır. Chunky ile haritayı önceden üretebilir,
/worldborderile sınır koyabilirsin. - Kötü ya da eski plugin: Profiler'da bir plugin sürekli tepedeyse güncelle, ayarlarını gözden geçir, gerekirse alternatif bul.
- Yetersiz ya da yanlış ayarlanmış RAM: Gereğinden çok RAM vermek de çöp toplama duraklamalarını uzatabilir. Bu konu için "Aikar bayrakları ve RAM ayarı" rehberine bak.
Her değişiklikten sonra tekrar ölç. Hangi ayarın fark yarattığını bilmeden dosyaya dokunma.