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?
sumber
Jawaban:
Uptime adalah hal yang licin ... Jika Anda ingin menghitung ketersediaan layanan maka itu sederhana
Jika Anda memiliki cluster yang menyediakan layanan, maka kemungkinan layanan menjadi tidak tersedia tidak turun tetapi ketersediaan (uptime) perhitungan untuk layanan tetap sama.
sumber
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
sumber
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.
sumber
Pertama-tama, ketersediaan total atau waktu aktif sebuah cluster tergantung pada seberapa besar bagian dari cluster diperlukan untuk aktif agar seluruh cluster dianggap 'naik'.
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.
sumber
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.
sumber
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.)
sumber
Dengan asumsi uptime dari setiap server adalah independen dari yang lain total uptime adalah
Di mana n adalah jumlah server Dan 0,05 adalah probabilitas downtime dari satu server
sumber