HIZTESTI.COM
Komut satırı aracı

Sunucunuzun bağlantısını komut satırından ölçün

HIZTESTI CLI; indirme, yükleme, gecikme ve bağlantı kalitesini tarayıcı olmadan ölçer. Sonuçları JSON, CSV ya da Prometheus biçiminde verir; cron'da ve izleme sistemlerinde çalışacak şekilde tasarlandı.

Ne işe yarar?

Bir sunucunun ya da ağ cihazının internet bağlantısını, o makinenin üzerinden ölçmek gerekir. Tarayıcıyla yapılan test yalnız masaüstünüzün bağlantısını gösterir; veri merkezindeki makinenin hattı hakkında bir şey söylemez. HIZTESTI CLI tam bu boşluğu doldurur: SSH ile bağlandığınız makinede tek komutla çalışır ve sonucu makine tarafından okunabilir biçimde döndürür.

  • Kesintiden sonra hattın gerçekten toparlandığını doğrulamak
  • Sağlayıcınızın taahhüt ettiği hızı düzenli olarak kayıt altına almak
  • Yeni kurulan bir sunucunun bağlantısını teslim almadan önce ölçmek
  • Grafana panosunda hız ve gecikmeyi zaman içinde izlemek

Ne ölçer?

ÖlçümAnlamı
İndirme / YüklemeSaniyede aktarılan veri miktarı (Mbps)
Gecikme (ping)Bir isteğin gidip dönme süresi; jitter, en düşük ve en yüksek değerlerle birlikte
Yük altındaki gecikmeHat doluyken gecikmenin ne olduğu — video görüşmesi ve oyun için belirleyici olan budur
BufferbloatHat dolduğunda gecikmenin ne kadar şiştiği
RPMRFC 9097 yanıt verebilirlik ölçüsü; dakikadaki tamamlanabilen istek sayısı

Ölçüm yöntemi hiztesti.com'un web arayüzüyle aynıdır ve akademik olarak yayımlanmıştır. Aynı hattı hem tarayıcıdan hem komut satırından ölçtüğünüzde birbirine yakın sonuç almanız beklenir.

Kurulum

Debian · Ubuntu

sudo apt-get install -y curl gpg
curl -fsSL https://packages.buildkite.com/netmetrik/hiztesti-deb/gpgkey \
  | sudo gpg --dearmor -o /etc/apt/keyrings/netmetrik_hiztesti-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/netmetrik_hiztesti-archive-keyring.gpg] https://packages.buildkite.com/netmetrik/hiztesti-deb/any/ any main" \
  | sudo tee /etc/apt/sources.list.d/hiztesti.list
sudo apt-get update && sudo apt-get install -y hiztesti

RHEL · Rocky Linux · AlmaLinux · Fedora

sudo tee /etc/yum.repos.d/hiztesti.repo >/dev/null <<'EOF'
[hiztesti]
name=HIZTESTI CLI
baseurl=https://packages.buildkite.com/netmetrik/hiztesti-rpm/rpm_any/rpm_any/$basearch
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://packages.buildkite.com/netmetrik/hiztesti-rpm/gpgkey
priority=1
EOF
sudo dnf install -y hiztesti

Her iki depo da herkese açıktır; kimlik doğrulaması gerekmez. Paketler imzalıdır ve paket yöneticisi imzayı her güncellemede doğrular. Kurulduktan sonra yeni sürümler `apt upgrade` ya da `dnf upgrade` ile gelir.

macOS · Linux (Homebrew)

brew tap netmetrik/hiztesti
brew install hiztesti

Diğer sistemler

Paket yöneticisi kullanmıyorsanız arşivi doğrudan indirebilirsiniz. Linux (x86_64 ve ARM), macOS, FreeBSD ve Windows için hazır dosyalar her sürümde yayımlanır.

curl -fsSL https://github.com/netmetrik/hiztesti-cli/releases/latest/download/hiztesti-linux-x86_64.tgz | tar xz
sudo install -m 755 hiztesti /usr/local/bin/

Kullanım

hiztesti                      # ölç ve göster
hiztesti -L                   # sunucu listesi (id · şehir · ülke · kapasite)
hiztesti -s 2                 # listedeki id ile belirli bir sunucuya ölç
hiztesti --simple             # yalnız gecikme, indirme, yükleme
hiztesti --no-share           # sonucu gönderme, bağlantı oluşturma
hiztesti --help               # tüm seçenekler

Sunucu seçimi varsayılan olarak otomatiktir: aday sunucular ölçülür ve en uygunu seçilir. Belirli bir sunucuyu kendiniz seçmek isterseniz `-L` ile listeyi görüp `-s` ile kimliğini verin. Kimlikler kalıcıdır; sunucu adları değişebilir.

İzleme sistemleriyle kullanım

CLI, sonucu makine tarafından okunabilir biçimlerde verebilir. Prometheus çıktısı doğrudan node_exporter'ın textfile toplayıcısına yazılabilir; sürekli kipte ise belirlediğiniz aralıkla ölçüp her satırı bir JSON kaydı olarak günlüğe ekler.

# node_exporter textfile collector (cron'dan)
hiztesti -f prometheus > /var/lib/node_exporter/hiztesti.prom

# sürekli kip — 15 dakikada bir, satır başına bir JSON kaydı
hiztesti --interval 900 -f jsonl >> /var/log/hiztesti.jsonl

Ölçüm başarısız olduğunda Prometheus çıktısı sessiz kalmaz: `up=0` ve hata nedenini bildirir. Böylece toplayıcı eski dosyayı okumaya devam edip panoda "her şey yolunda" göstermez.

Faz, ölçüm oturduğunda erkenden biter; bu, düzenli koşan bir ajanda veri kullanımını belirgin biçimde azaltır. Sabit süreli ölçüm gerekiyorsa `--full-duration` kullanın.

Çıkış kodları

Betiklerin "ağ yok" ile "sunucu yavaş"ı ayırt edebilmesi için çıkış kodları ayrıştırılmıştır.

KodAnlamı
0Başarılı
2Kullanım hatası
3Ağa ulaşılamadı
4İndirme ölçülemedi
5Yükleme ölçülemedi
6Zaman aşımı
130Kullanıcı iptali

Gizlilik

  • Test bitince sonucunuz paylaşılabilir bir sayfaya kaydedilir ve size bağlantı verilir. İstemiyorsanız --no-share ile çalıştırın.
  • Komut satırı ölçümleri tüketici istatistiklerine, sağlayıcı raporlarına ve yayımlanan veri kümelerine dahil edilmez.
  • CLI konum bilgisi göndermez.