Ortalama bir kullanıcı için benim sunucunun geçerli tepki süresinin nasıl görüntüleneceğini

3 Cevap php

Üzgünüm, yani ayı ile beni bu bir sormak için doğru yolu gerçekten emin değilim ...

We have a web application that runs on a set of servers at a data center (not in our offices) We want to be able to somehow 'advertise' to our clients/users that the availability or response time of our servers has met a standard throughout the day.

Ben şimdiki "standart tepki süresi" her x dakikada bir kontrol gösterir kolayca bizim giriş ekranında reklamını standart metrik ile gelip isteniyor.

Benim düşünce ben veri merkezi sunucularından birine bir sunucudan bir traceroute sonuçları gibi (ya da bizim ofiste, amazon, vb.) Bir şey yakalamak ve bir Kırmızı / Sarı / Yeşil tip ile gelmek gerekir olduğunu kullanıcı bunu kendi ağ veya internet bağlantısı olabilir gecikme sorunları yaşıyorsanız bizim testleri normal yanıt ve olduğunu bildirmek için giriş ekranında için notifier. Biz fakir bağlantısına sahip kırsal alanlarda müşterilerine sürü var ve biz bizim, onları herhangi bir yavaşlık onların ucunda olabileceğini bildirmek için değil çalışıyoruz.

Ben çalışmak için LAMP yığınını var, ama bu aynı zamanda sürece bu sonuçlar ile ana sunucuya güncellemek gibi hep birlikte bazı diğer sistem olabilir.

Ben zaten mevcuttur pingdom raporları var, ama bu insanlar bazen okumak istiyorum biraz daha fazla bulunuyor.

Ben ne yapabilirim herhangi bir fikir?

Resolution:

Ben Tim'in ARMUT Net_Ping fikri ile gidiş sona erdi. Aşağıdaki kullanılmıştır:

$ping->setArgs(array('count' => 6));
$results = $ping->ping('x.x.x.x');
$avgPing = $results->_round_trip['avg'];

Server 6 ping ort almak için. Ben daha sonra DB sonucu saklanan ve sağlık bir fikir vermek için son 5 çeklerin ort göstermeyi başardı. Müşterilerimize like it nasıl göreceksiniz.

3 Cevap

Eğer umurumda tüm ağ gecikmesi (sunucu yükü gibi bir şey değil) ise, neden değil ping bir dizi from server known good hosts. Sonra (farklı yanıt aralıkları için bir renk skalası kullanılarak) kullanıcıya ortalama ping süresini rapor.

Sonra ayrıca size kullanıcının IP ping ve hedefi 'gecikme' nerede göstermek için olduğundan, bu 'durumu' gösterebilirim.

Bu (en azından benim için) harici bir sunucudan gecikme çek yaparak daha iyi ve daha basit görünüyor.

Gerçek ping yapmak için, bir cron işi kullanmak ve bir php script ile sonuçları işlemek, ya da bir ping kütüphanesi kullanabilirsiniz. ARMUT en Net_Ping değil korunur, ama çalışır.

Ping daha karmaşık bir şey için, bazı sayfaları (veya görüntüleri) almak olabilir, o zaman getir / yanıt boyutunu hesaplamak. Belki bant genişliği yük olası bir sorun, (bu 'hız testi' sitelerin arkasındaki temel kavram) ise daha iyi bir göstergesidir.

Nagios veya OpenNMS size ihtiyacınız olabilecek en herhangi bir istatistik vermek, ve en azından Nagios zaten web interface sahip olurdu gibi bir ağ izleme uygulaması. Ben OpenNMS de yok inanıyorum, ama Tomcat gerektirir.

Ben sadece Nagios ile çalıştık ve o (o telefon görüşmeleri çok, bölgesel bir dial-up ISP için her gün) yıllar önceydi. Ben web arayüzü kazımak ve kendi ekran için oluşturulan grafik görüntülerin birkaç ödünç vardı, ama cron üzerinden saatlik otomatikleştirmek için kolay oldu. Şimdi süreci kolaylaştırmak için add-on, değilse uygun bir API çeşit yoksa ben şaşıracaksınız.