Saya bekerja untuk perusahaan Fortune 500 yang berjuang dengan mengukur kinerja dan ketersediaan secara akurat untuk aplikasi ketersediaan tinggi (yaitu, aplikasi yang naik 99,5% dengan navigasi halaman ke halaman 5 detik). Kami memperhitungkan downtime terjadwal dan tidak terjadwal untuk menentukan nomor ketersediaan ini. Namun, kami baru-baru ini menambahkan CDN ke dalam campuran, yang agak menyulitkan metrik kami. CDN sekarang menangani sekitar 75% dari lalu lintas kami, sambil mengirimkan sisanya ke server kami sendiri.
Kami berusaha mengukur apa yang kami sebut "pengalaman pengguna yang sebenarnya" (yaitu, skrip pengujian kami meniru pengguna yang mengeklik melalui aplikasi). Skrip pemantauan ini berada di luar jaringan kami, yang berarti kami mengenai CDN sekitar 75% dari waktu.
Manajemen telah memutuskan bahwa kami mengambil skenario kasus terburuk untuk mengukur ketersediaan. Jadi, jika server asal kami mengalami masalah, namun CDN melayani konten dengan baik, kami masih menerima ketersediaan. Hal yang sama berlaku sebaliknya. Pikiran saya adalah selama "pengalaman pengguna" berhasil, kita seharusnya tidak menghukum diri kita sendiri. Bagaimanapun, CDN ada untuk meningkatkan kinerja dan ketersediaan!
Saya hanya ingin tahu apakah ada yang tahu bagaimana perusahaan Fortune 500 lainnya menghitung angka ketersediaan mereka? Saya melihat apple.com, misalnya, dari etalase yang menggunakan CDN yang sepertinya tidak pernah surut (kecuali ada pengumuman produk utama.) Akan lebih baik memiliki beberapa data yang sulit dan faktual karena saya tidak tidak percaya bahwa kita perlu melukai diri kita sendiri pada metrik ini. Kami sedang membuat keputusan bisnis berdasarkan angka-angka ini.
Namun saya dapat mengatakan, mengingat metrik ini dapat dilihat oleh manajemen, masalah dapat diatasi dan diselesaikan dengan sangat cepat (baca: kami memotong birokrasi dengan cukup cepat.) Sayangnya, sebagai pengembang, saya tidak ingin manajemen berpikir bahwa aplikasi naik atau turun karena beberapa faktor eksternal (yaitu, CDN) mempengaruhi angka.
Pikiran?
(Saya keliru memposting pertanyaan ini di StackOverflow, maaf sebelumnya atas cross-post)
sumber
Saya setuju dengan user44700, lebih baik untuk memisahkan pengujian ketersediaan untuk server Anda versus CDN dan melacak keduanya secara independen. Ketersediaan Anda yang sebenarnya adalah Server Tersedia * Tersedia CDN, karena jika salah satu turun - Anda sedang mempertimbangkan bahwa halaman / situs Anda turun. Ini juga akan mengurangi biaya Anda dengan vendor pemantauan mana pun.
Saya tidak akan menempuh jalur pembuatan satu uji browser dan melihat item apa yang gagal, sementara itu bisa bekerja dan beberapa perusahaan seperti Catchpoint memiliki konsep "ketersediaan konten" - mungkin tidak persis seperti yang Anda inginkan untuk kasus ini. Katakan misalnya halaman web Anda memiliki panggilan ke CDN untuk file yang memberikan 404, sebagian besar solusi pemantauan akan memberi tahu Anda ini adalah kegagalan - tetapi apakah itu benar-benar CDN yang gagal? Apakah file itu penting? mungkin seseorang lupa untuk menghapus beberapa referensi peninggalan yang tidak ada pemberitahuan pengguna.
Anda dapat membaca posting blog ini untuk beberapa ide lagi: http://blog.catchpoint.com/2010/07/21/true-avilities-of-a-webpage/
sumber
Pelaporan SLA harus secara akurat mencerminkan kenyataan. Jika Anda mengukur ketersediaan dari perspektif pengguna dan hanya server yang melakukan pengukuran mengalami masalah, melaporkan masalah itu dalam SLA Anda tidak akan mencerminkan pengalaman pengguna.
Saya dapat memahami keinginan untuk menyimpan informasi sumber ke standar yang tinggi, mungkin selalu melaporkannya meskipun tidak akurat tetapi dengan catatan yang mengidentifikasi alasannya.
Jika Anda tidak dapat mencapai kesepakatan, mungkin ada solusi teknis untuk membuat server pengukur kurang keliru.
Jika informasi dilaporkan sebagai pemadaman dan bukan, nilai apa yang diberikan pelaporan?
Di lingkungan saya, kami melaporkan dari berbagai sumber. Metodologi pemantauan eksternal untuk melaporkan ketersediaan dari perspektif eksternal serta melaporkan sistem pencatatan gangguan internal kami, yang dimasukkan manusia dan mempertimbangkan berbagai faktor yang paling akurat mencerminkan situasi.
sumber
Gomez dan Keynote adalah solusi yang diterima perusahaan untuk mengumpulkan jenis metrik yang Anda sebutkan. Gomez juga memiliki layanan yang memantau UX pengguna akhir Anda dengan sumber file javascript google-analytics-esque.
sumber
Pingdom baik: http://www.pingdom.com/
sumber
Kami adalah Fortune 500 dengan situs yang mendukung CDN, dan kami menggunakan beberapa hal. Anda telah menentukan dengan benar bahwa Anda perlu mengukur hal-hal yang berbeda jika Anda ingin mendeteksi hal-hal yang berbeda. Tidak jelas bagi saya apa yang Anda inginkan secara spesifik - angka ketersediaan untuk membantu Anda menentukan kapan suatu aplikasi benar-benar turun, atau angka yang membuat manajemen kehilangan kendali. Bagaimanapun...
Untuk mendapatkan "CDN dari itu" Anda bisa mengambil monitor Keynote / Gomez lain dan arahkan ke aplikasi Anda tidak melalui CDN menggunakan nama DNS alternatif atau yang lainnya. Tetapi karena masih memiliki aset statis, itu lebih berguna untuk kinerja daripada ketersediaan. Dan itu membuat pemadaman internet, pemutusan agen, dll. Dalam loop, yang sesuai untuk beberapa tujuan dan bukan yang lain.
Pemantauan pengguna nyata. Ada berbasis jaringan (Coradiant, Tealeaf) dan berbasis tag (Jiffy, Gomez). Kami menggunakan Coradiant sebagai sniffer jaringan dan menentukan kinerja nyata aset yang dilihat pengguna yang dihosting di sini di pusat data kami - dengan kata lain, aplikasi aktual dan tidak semua sampah statis pada CDN. Kami kemudian menulis laporan untuk menentukan tingkat kesalahan dan kinerja aplikasi dan menggunakan Apdex (apdex.org) sebagai metrik yang diturunkan. Dalam beberapa kasus, Anda tidak dapat menggunakan berbasis jaringan (terlalu banyak lalu lintas, atau aset Anda tidak di-host di mana Anda bisa mendapatkan di jaringan), dan berbasis tag tidak dapat diandalkan. Memiliki manfaat luar biasa untuk benar-benar melihat waktu respons dan kesalahan pengguna akhir - mudah untuk membuat monitor sintetis yang tidak kesalahan dalam semua kasus yang dilakukan oleh pengguna nyata.
Pemantauan sintetis lokal. Nagios / zabbix / sitescope / seratus lainnya. Arahkan monitor ke aplikasi Anda secara lokal (jangan melalui CDN). Untuk pemantauan ketersediaan yang dapat ditindaklanjuti (seperti dalam, kirim halaman untuk membangunkan seseorang), ini adalah standar utama. Tidak memperhitungkan hal-hal jaringan akun.
Pemantauan log. Dalam arti tertentu, ini adalah ghetto pemantauan pengguna nyata. Tetapi jika Anda benar-benar hanya ingin melihat apa yang salah kapan, itu cukup berguna. Memiliki "tidak benar-benar itulah yang terjadi" manfaat dari pemantauan pengguna nyata. Seringkali hanya tersedia, kecuali Anda mengambil waktu yang diambil di Web tier, yang dalam hal ini menunjukkan berapa lama server Anda - tidak membantu pengguna yang menghadapi SLA, tetapi sangat membantu untuk "kode apa yang perlu kita kerjakan . " Gunakan splunk.
Ini bukan salah satu atau, kami menggunakan semua ini, karena Anda ingin "kisah pengguna akhir" serta "programmer apa yang kita butuhkan untuk bersandar."
sumber
BrowserMob sangat bagus
sumber