Linux sunucular arasında bant genişliği kontrolü nasıl yapılır?

Merhabalar,

Bu kısa makalede, pratik bir bilgilendirme yapmayı düşündüm. Salt teknik makalelerin yanında, bazen de böyle küçük çerez bilgiler vermem iyi olacak sanırım.

Bazen ağ içindeki iki makine arasında, ulaşılabilecek maksimum bant genişliğini bilmemiz gerekir. Linux’ta, iki makine arasındaki bant genişliğini görebilmek için basit ve etkili bir komuta sahibiz. Bir gün ihtiyacınız olduğunda, sunucular arasındaki veri transferinin yeterli olup olmadığını ölçmek istediğinizde kullanabileceğiniz bir yayın olarak bir köşede bulunmasını istedim.

Kullanacağımız araç iperf aracıdır. Bu aracın kullanımını, daha önce çok detaylı şekilde bir makalede aktarmıştım. VMXNET3 ve E1000 ethernet kartlarının hızları arasındaki farkları gösterdiğim o detaylı makaleyi, aşağıdaki linkten de inceleyebilirsiniz.

Fakat o araç, windows sunucular üzerinde grafik arabirim uygulamasıydı. Bu makalede ise komut satırı ve linux sunucular için nasıl kullanılacağını göreceğiz. Ayrıca sadece Linux-Linux makineler için değil, Server-Client mantığıyla çalıştıracağınız Linux-Windows makineler arasındaki bant genişliğini de bu yöntemle görebilirsiniz.

Bant genişliğini test etmek için ubuntu linux kullandım, ancak RHEL/CentOS/Debian linux gibi çeşitli Linux / Unix makinelerine de yükleyebilir ve test edebilirsiniz.

İperf kurulumu

iperf aracı, aşağıdaki gibi çeşitli Linux / Unix dağıtımlarında kullanılan çeşitli paket yöneticileri aracılığıyla yüklenebilir. Ben bu uygulamayı, Ubuntu 20.4 sunucular üzerinden yapacağım. Her iki sunucu Ubuntu olmak zorunda değil. Karşılıklı testler yaparken, bu araç için versiyon bağımlılığı bulunmamaktadır. Her iki sunucu üzerinde de yüklenmiş olması yeterli.

Her iki sunucu üzerine, aşağıdaki gibi kurulumu yapalım.

sudo apt install iperf (Ubuntu-Debian)

dnf install iperf (RHEL-CentOS-Oracle)

Iperf komut bant genişliği testi

Bu komutun kullanımı için çeşitli seçenekleri vardır, ancak iki makine arasındaki bant genişliğini test etmek için Server / Client olarak hareket eder, burada bir makinede Server modunu ve diğerinde Client modunu çalıştırmamız gerekir.

Kısacası, sunuculara yükleme işleminden sonra, kullanım mantığımız şu şekilde olacak:

  • Herhangi bir sunucuyu Server Modda kullanacağız.
  • Diğer sunucuyu ise Client modda kullanacağız.

iperf Server mode

Bu bilgiler ışığında, herhangi bir sunucumda komut satırından -s parametresi ile server modda komut başlatıyorum. Bu makine ile 5001 bağlantı noktasındaki (iperf varsayılan bağlantı noktası) başka bir makineden gelecek bağlantıyı dinlemeye başlamış olacağız.

iperf Client Mode

Diğer makinede ise Client modunu, aşağıdaki gibi başlatabiliriz. IP adresi olarak Server modunda çalıştırdığınız makinenin IP adresini yazmalısınız.

iperf -c 20.20.20.120

Client mod makinede iperf’i başlattığımızda, aynı port üzerinden (5001) Server mod çalışan sunucuyla bağlantı kurar ve bant genişliğini test etmek için bazı veriler göndermeye başlar ve aşağıdaki gibi yanıt verir.

Client tarafındaki çıktı:

Server tarafındaki çıktı:

Her iki sunucuda, belli bir süre sonra (ki bu örnekte 10 saniye boyunca paket gönderdik) kaç saniye süreyle ne kadar veri gönderildiği, sonrasında da toplam bant genişliğine dair özet bilgi, ekrana verilir.

Default paket gönderim süresi 10 saniyedir. İsterseniz -t parametresini kullanarak daha uzun süreli paket gönderme/alma testi de yapabilirsiniz.

iperf -c 20.20.20.120 -t 20

Daha detaylı kullanım istediğinizde, komut satırında iperf –help yazarak, tüm seçenekleri görebilirsiniz. Şunu da eklemek isterim; eğer sunucularınızda firewall aktif durumdaysa, test yaparken ya firewall’u devre dışı bırakmayı ya da 5001 portu için firewall üzerinde izin vermeyi unutmayınız.

Böylece linux sunucular arasında, troubleshooting konusunda size yardımcı olacak bu aracı, basit anlamda kullanmış oluyoruz.

Yararlı olması dileğiyle.

Yusuf İşleyen