Matemáticamente, ¿cómo calcular un porcentaje de tiempo de actividad basado en un número de nodos y su porcentaje de tiempo de actividad respectivo?

11

Esta pregunta es más una pregunta matemática que una pregunta del servidor, pero está fuertemente relacionada con el servidor.

Si tengo un servidor que podría garantizar un tiempo de actividad del 95% y lo pondría en un clúster de 2, ¿cuánto tiempo sería entonces? Ahora, digamos que hago lo mismo, ¿pero lo hago un grupo de 3?

No consideremos cosas como un solo punto de falla, sino que nos centremos exclusivamente en las matemáticas aquí. Una de las cosas que hace que esto sea un poco complicado es que, por ejemplo, si tengo 2 servidores, la posibilidad de que ambos estén apagados es 2 ^ 2, por lo que es 1 / 4th; o para 3 es 2 ^ 3, entonces 1/8. Teniendo en cuenta que tengo un tiempo de inactividad del 5% para cada uno de estos servidores, ¿el promedio total sería entonces el 1/8 de ese 5%?

¿Cómo calcularías algo como esto?

Jeroen Landheer
fuente
"95% de tiempo de actividad": ¿qué es eso? Sé lo que son 5 días o 5 años de tiempo de actividad. ¿Qué es el tiempo de actividad de 0,95? Que unidades
poige
1
¿Por qué necesitas saber esto? ¿Cuál es el caso de uso?
ewwhite
@poige Presumiblemente, "95% de tiempo de actividad" significa "el tiempo de actividad abarca el 95% del tiempo", aunque si decidiera ser pedante al respecto, podría decir que, por lo tanto, todo tiene un tiempo de actividad de ~ 0% porque no existirá todo el tiempo .
Financia la demanda de Mónica el
1) ¿Presumiblemente el autor debería responder? ;) 2) Creo que antes de calcular algo es mejor entender qué es. ;)
poige

Respuestas:

11

El tiempo de actividad es algo resbaladizo ... Si desea calcular la disponibilidad de un servicio, entonces es simplemente

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

Si tiene un clúster que proporciona el servicio, entonces la probabilidad de que el servicio no esté disponible disminuye, pero el cálculo de disponibilidad (tiempo de actividad) para el servicio permanece igual.

usuario9517
fuente
8

La posibilidad de que un servidor esté desconectado es (1 - 0.95) La posibilidad de que ambos servidores estén desconectados es (1 - 0.95) * (1 - 0.95) = 0.0025, etc.

Por lo tanto, al usar su modelo y desde un punto de vista puramente matemático, uno o ambos servidores deberían estar arriba el 99.75% del tiempo

Sin embargo, no estoy seguro de que usar un modelo matemático de este tipo sea la forma correcta de calcular su tiempo de actividad potencial, ya que hay otros factores que pueden afectarlo que son comunes a ambos servidores, es decir, el 95% podría deberse al 5% del tiempo hay un corte de energía que afectaría a AMBOS servidores, por lo que tener un clúster no haría ninguna diferencia

Phil
fuente
Hola Phil La energía es sin duda un componente de la disponibilidad que se puede mitigar colocando las instalaciones en múltiples racks y tomando energía de diferentes fuentes, etc. La idea es puramente desde un punto de vista matemático, ya que obviamente hay más componentes que solo algunos servidores. :)
Jeroen Landheer
8
El punto es que los cálculos en esto y la respuesta de Jeroen solo funcionan si los tiempos de actividad son independientes (en un sentido matemático). Si hay correlaciones (p. Ej., El cable de alimentación alimenta ambos bastidores), entonces las cosas no son tan simples.
TripeHound
@TripeHound Por eso escribí mi respuesta :)
Seamus
5

Esto depende de por qué sus servidores están inactivos el 5% del tiempo. Si tiene energía el 95% del tiempo, pero sus servidores son impecables, entonces un segundo servidor en la misma ubicación no aumenta su tiempo de actividad : si uno se cae, ambos se caen. Este es un ejemplo de las fallas que se correlacionan . Es probable que al menos parte de su tiempo de inactividad se deba a errores que afectan a todos los servidores juntos (alimentación ...). Pero parte del tiempo de inactividad será independienteentre servidores Si desea hacerlo correctamente, debe tratar estas cosas por separado. Por lo tanto, desea calcular la probabilidad de que el servidor 1 no tenga un error independiente (p) y que el servidor 2 no tenga un error independiente (q) y que no haya un error sistémico que mate a ambos (r). Sería relativamente seguro suponer que estos errores son independientes y, por lo tanto, podría simplemente multiplicarlos: p q r es la probabilidad de que algún servidor esté activo.

El problema es que no puede usar los datos de tiempo de actividad reales para obtener valores para p, q y r, excepto que si solo tiene el servidor 1 y está activo el 95% del tiempo, entonces p * r = 0.95.

Seamus
fuente
5

En primer lugar, la disponibilidad total o el tiempo de actividad de un clúster depende de qué tan grande se necesita una parte del clúster para estar activo para que todo el clúster se considere "activo".

  • ¿Es suficiente una máquina que funcione? Eso significaría que cualquier máquina puede tomar la carga completa si es necesario.
  • ¿Todos ellos deben estar activos al mismo tiempo? Es decir, no hay redundancia.
  • ¿O tal vez dos de cada tres en línea son suficientes? Esto permitiría una carga de trabajo mayor que el primer caso.

Como descubrió, los dos primeros casos son bastante simples de calcular. Supongamos que la probabilidad de que un solo servidor esté en línea en cualquier momento dado p = 0,95. Ahora, para tres servidores, la probabilidad de que estén todos en línea al mismo tiempo es p 3 = 0.857375.

Para el caso opuesto, donde al menos una máquina debe estar activa en un momento dado, es más fácil de calcular invirtiendo el problema y observando las probabilidades de que las máquinas estén fuera de línea . La probabilidad de que una sola máquina esté fuera de línea es q = 1- p = 0.05 y, por lo tanto, la probabilidad de que todas estén inactivas al mismo tiempo es q 3 = 0.000125, lo que da una probabilidad 1- q 3 = 1- (1- p ) 3 = 0.999875 que al menos uno está arriba.

El caso 2 de 3 es un poco más difícil de calcular. Hay cuatro situaciones posibles en las que al menos dos de cada tres servidores están activos. 1) ABC está arriba, 2) AB está arriba, 3) AC está arriba, 4) BC está arriba. Las probabilidades para todos estos son, respectivamente, ppp , ppq , pqp y qpp . Como los casos son disjuntos, las probabilidades se pueden sumar, dando un total de A = p 3 + 3 p 2 q = 0.992750.

(Esto se puede ampliar a más máquinas. Los factores son los coeficientes binomiales bien conocidos , por lo que contar los diferentes casos a mano funciona principalmente como un ejercicio).


Por supuesto, cálculos como este son mucho más fáciles de manejar mediante el uso de un programa de computadora listo para usar ... Al menos una calculadora en línea se puede encontrar aquí:
http://stattrek.com/online-calculator/binomial.aspx

Al ingresar los valores de entrada: probabilidad de éxito = 0.95, número de intentos = 3, número de éxitos = 2, obtenemos el resultado "Probabilidad acumulativa: P (X ≥ 2) = 0.99275". También se dan algunos otros valores relacionados, y la herramienta en línea también facilita jugar con otros números.


Y sí, todo lo anterior supone que los servidores fallan de forma independiente, es decir: a) ignoré cualquier problema que afecte al clúster en su conjunto, b) no hay nada como el envejecimiento de los componentes que podría hacer que los servidores fallen. o casi al mismo tiempo.

ilkkachu
fuente
3

Tiene un 5% de tiempo de inactividad para cada servidor, por lo que lo multiplica: 0.05 * 0.05 = 0.0025, lo que le da 1-0.0025 = 0.9975 -> 99% de tiempo de actividad. Con 3 servidores, tiene 1-0.000125 = 0.999875> 99.9% de tiempo de actividad.

Normalmente represento el 97% de disponibilidad para el host independiente (con HDD y PSU redundantes), dando> 99.9% para 2N y> 99.99% para redundancia 3N.

DukeLion
fuente
3

He cavado un poco más y encontré esta pieza del rompecabezas.

Usando el ejemplo de un servidor con una disponibilidad del 95%, luego agregar un segundo servidor aumentaría la disponibilidad a: 95% + (1-95%) * 95% = 99.75%. La lógica detrás de esto es que cuando el primer servidor está inactivo (5% del tiempo), el segundo servidor todavía está activo el 95% del tiempo.

Agregar un tercer servidor iteraría a través de esto de la misma manera. Los primeros 2 juntos ya están disponibles en un 99.75%, por lo que agregar el tercero sería: 99.75% + (1-99.75%) * 95% = 99.9875%. Y así sucesivamente y así sucesivamente. Esto está cerca de la respuesta de Phil, pero sigue siendo un poco diferente, ya que debe tomar el resultado de la iteración anterior y usarla en la siguiente.

Para los componentes que dependen unos de otros, simplemente multiplique los porcentajes de disponibilidad, por lo que si tiene 2 componentes que están disponibles en un 50%, tiene una disponibilidad total del 25% (es decir, el sistema funciona solo cuando ambos componentes funcionan).

Jeroen Landheer
fuente
0

Suponiendo que el tiempo de actividad de cada servidor es independiente de los demás, el tiempo de actividad total es

1 - (0.05) ^ n

Donde n es el número de servidores Y 0.05 es la probabilidad de tiempo de inactividad de un servidor

Hani
fuente