Secara matematis, bagaimana cara menghitung persentase uptime berdasarkan sejumlah node dan persentase uptime masing-masing?

11

Pertanyaan ini lebih merupakan pertanyaan matematika daripada pertanyaan server, tetapi sangat terkait dengan server.

Jika saya memiliki server yang saya dapat menjamin uptime 95% dan saya akan menempatkan server itu dalam kelompok 2, berapa banyak uptime itu? Sekarang, katakanlah saya melakukan hal yang sama, tetapi saya membuatnya menjadi kelompok 3?

Mari kita tidak mempertimbangkan hal-hal seperti titik kegagalan tunggal, tetapi murni fokus pada matematika di sini. Salah satu hal yang membuat ini sedikit rumit adalah bahwa jika misalnya saya memiliki 2 server, kemungkinan keduanya tidak aktif adalah 2 ^ 2, jadi itu 1/4; atau untuk 3 itu 2 ^ 3, jadi 1/8. Mengingat saya memiliki downtime 5% untuk masing-masing server ini, apakah rata-rata totalnya adalah 1/8 dari 5% itu?

Bagaimana Anda menghitung sesuatu seperti ini?

Jeroen Landheer
sumber
"95% waktu aktif" - apa itu? Saya tahu 5 hari atau 5 tahun ke atas. Apa itu waktu kerja 0,95? Unit apa?
poige
1
Mengapa anda perlu tahu ini? Apa gunanya?
ewwhite
@poige Agaknya, "95% uptime" berarti "uptime terdiri dari 95% dari waktu", meskipun jika Anda memutuskan untuk bertele-tele, Anda bisa mengatakan bahwa karena itu semuanya memiliki ~ 0% uptime karena tidak akan ada sepanjang masa .
Dana Gugatan Monica
1) Mungkin penulis harus menjawab? ;) 2) Saya pikir sebelum menghitung sesuatu, lebih baik untuk memahami apa itu. ;)
poige

Jawaban:

11

Uptime adalah hal yang licin ... Jika Anda ingin menghitung ketersediaan layanan maka itu sederhana

amount of time service is available
-----------------------------------   x 100
  amount of time that has passed 

Jika Anda memiliki cluster yang menyediakan layanan, maka kemungkinan layanan menjadi tidak tersedia tidak turun tetapi ketersediaan (uptime) perhitungan untuk layanan tetap sama.

user9517
sumber
8

Peluang satu server offline adalah (1 - 0,95) Peluang kedua server offline adalah (1 - 0,95) * (1 - 0,95) = 0,0025 dll ...

Jadi menggunakan model Anda dan dari sudut pandang matematis murni satu atau kedua server harus mencapai 99,75% dari waktu

Namun, saya tidak yakin bahwa menggunakan model matematis seperti itu adalah cara yang tepat untuk mengetahui potensi uptime Anda karena ada faktor-faktor lain yang mungkin memengaruhinya yang umum bagi kedua server yaitu 95% mungkin karena 5% dari waktu ada pemadaman listrik yang akan mempengaruhi KEDUA server sehingga memiliki sebuah cluster tidak akan membuat perbedaan

Phil
sumber
Hai Phil. Kekuatan tentu saja merupakan salah satu komponen ketersediaan yang dapat dikurangi dengan menempatkan instalasi di banyak rak dan mengambil daya dari sumber yang berbeda, dll. Idenya murni dari sudut pandang matematika, karena jelas ada lebih banyak komponen yang masuk ke ini daripada hanya beberapa server :)
Jeroen Landheer
8
Intinya adalah, bahwa perhitungan dalam jawaban ini dan Jeroen hanya berfungsi jika up-time independen (dalam arti matematika). Jika ada korelasi (mis. Kabel listrik memberi makan kedua rak) maka semuanya tidak sesederhana itu.
TripeHound
@ TripeHound Inilah sebabnya saya menulis jawaban saya :)
Seamus
5

Ini tergantung pada mengapa server Anda turun 5% dari waktu. Jika Anda memiliki daya 95% dari waktu, tetapi server Anda dinyatakan sempurna, maka server kedua di lokasi yang sama tidak meningkatkan waktu kerja Anda sama sekali : jika ada yang turun, keduanya turun. Ini adalah contoh dari kegagalan yang dikorelasikan . Kemungkinan bahwa setidaknya sebagian waktu henti Anda disebabkan oleh kesalahan yang memengaruhi semua server secara bersamaan (power ...). Tetapi beberapa downtime akan mandiriantar server. Jika Anda ingin melakukannya dengan benar, Anda harus berurusan dengan hal-hal ini secara terpisah. Jadi, Anda ingin mengetahui kemungkinan bahwa server 1 tidak memiliki kesalahan independen (p) dan server 2 tidak memiliki kesalahan independen (q) dan bahwa tidak ada kesalahan sistemik yang membunuh keduanya (r). Akan relatif aman untuk mengasumsikan bahwa kesalahan-kesalahan ini bersifat independen, dan dengan demikian Anda bisa mengalikannya bersama-sama: p q r adalah probabilitas beberapa server sedang aktif.

Masalahnya adalah, Anda tidak dapat menggunakan data uptime aktual untuk memberi Anda nilai untuk p, q, dan r, kecuali bahwa jika Anda hanya memiliki server 1 dan sudah naik 95% dari waktu, maka p * r = 0,95.

Seamus
sumber
5

Pertama-tama, ketersediaan total atau waktu aktif sebuah cluster tergantung pada seberapa besar bagian dari cluster diperlukan untuk aktif agar seluruh cluster dianggap 'naik'.

  • Apakah satu mesin yang berfungsi cukup? Itu berarti bahwa setiap mesin dapat mengambil beban penuh jika diperlukan.
  • Apakah mereka semua harus aktif pada saat yang sama? Artinya, tidak ada redundansi.
  • Atau mungkin dua dari tiga online sudah cukup? Ini akan memungkinkan untuk beban kerja yang lebih besar daripada kasus pertama.

Seperti yang Anda ketahui, dua kasus pertama cukup mudah untuk dihitung. Biarkan probabilitas satu server sedang online pada waktu tertentu p = 0,95. Sekarang, untuk tiga server, probabilitas bahwa mereka semua online pada saat yang sama adalah p 3 = 0,857375.

Untuk kasus sebaliknya, di mana setidaknya satu mesin harus aktif pada waktu tertentu, lebih mudah untuk menghitung dengan membalikkan masalah dan melihat probabilitas mesin menjadi offline . Probabilitas bahwa satu mesin sedang offline adalah q = 1- p = 0,05, dan karenanya probabilitas bahwa mereka semua mati pada saat yang sama adalah q 3 = 0,000125, memberikan probabilitas 1- q 3 = 1- (1- p ) 3 = 0,999875 bahwa setidaknya satu naik.

Kasus 2 dari 3 sedikit lebih sulit untuk dihitung. Ada empat kemungkinan situasi di mana setidaknya dua dari tiga server berada. 1) ABC naik, 2) AB naik, 3) AC naik, 4) BC naik. Probabilitas untuk semua ini adalah, masing-masing, ppp , ppq , pqp dan qpp . Karena kasus terpisah, probabilitas dapat ditambahkan bersama-sama, memberikan total A = p 3 + 3 p 2 q = 0,992750.

(Ini dapat diperluas ke lebih banyak mesin. Faktor-faktornya adalah koefisien binomial yang terkenal , jadi menghitung berbagai kasus dengan kerja tangan sebagian besar sebagai latihan.)


Tentu saja, perhitungan seperti ini jauh lebih mudah untuk ditangani dengan menggunakan program komputer yang sudah jadi ... Setidaknya satu kalkulator online dapat ditemukan di sini:
http://stattrek.com/online-calculator/binomial.aspx

Memasukkan nilai input: probabilitas keberhasilan = 0,95, jumlah percobaan = 3, jumlah keberhasilan = 2, kita mendapatkan hasil "Probabilitas Kumulatif: P (X ≥ 2) = 0,99275". Beberapa nilai terkait lainnya juga diberikan, dan alat online membuatnya mudah untuk bermain dengan nomor lain juga.


Dan ya, semua hal di atas mengasumsikan bahwa server gagal secara independen, yaitu a) Saya mengabaikan masalah yang mempengaruhi cluster secara keseluruhan, b) tidak ada komponen seperti penuaan yang akan memungkinkan server gagal pada atau hampir bersamaan.

ilkkachu
sumber
3

Anda memiliki downtime 5% untuk setiap server, sehingga Anda mengalikannya - 0,05 * 0,05 = 0,0025, memberi Anda 1-0,0025 = 0,9975 -> 99% uptime. Dengan 3 server, Anda memiliki 1-0.000125 = 0,999875> 99,9% waktu aktif.

Saya biasanya memperhitungkan ketersediaan 97% untuk host mandiri (dengan HDD dan PSU berlebihan), memberikan> 99,9% untuk 2N dan> 99,99% untuk redundansi 3N.

DukeLion
sumber
3

Saya telah melakukan lebih banyak penggalian dan menemukan potongan puzzle ini.

Menggunakan contoh server dengan ketersediaan 95%, kemudian menambahkan server kedua akan meningkatkan ketersediaan menjadi: 95% + (1-95%) * 95% = 99,75%. Logika di balik ini adalah bahwa ketika server 1 turun (5% dari waktu), server kedua masih naik 95% dari waktu.

Menambahkan server ke-3 akan dilakukan dengan cara yang sama. 2 yang pertama bersama-sama sudah 99,75% tersedia, jadi menambahkan yang ketiga adalah: 99,75% + (1-99,75%) * 95% = 99,9875%. Dan seterusnya dan seterusnya. Ini dekat dengan jawaban Phil, tetapi masih sedikit berbeda karena Anda harus mengambil hasil dari iterasi sebelumnya dan menggunakannya di yang berikutnya.

Untuk komponen yang bergantung pada satu sama lain, Anda cukup mengalikan persentase ketersediaan, jadi jika Anda memiliki 2 komponen yang 50% tersedia, Anda memiliki 25% ketersediaan total (yaitu sistem hanya bekerja ketika kedua komponen bekerja.)

Jeroen Landheer
sumber
0

Dengan asumsi uptime dari setiap server adalah independen dari yang lain total uptime adalah

1 - (0,05) ^ n

Di mana n adalah jumlah server Dan 0,05 adalah probabilitas downtime dari satu server

Hani
sumber