tomi707
Goto Top

Probleme mit SQL Abfragen

Hallo Leute,


Mein Problem ist ich habe eine Tabelle in der die prozentuellen Verfügbarkeiten meiner Server geschrieben werden. Also wieviel Prozent der Zeit er UP und DOWN war.

Ich habe 3 Server und will daraufs einen Durschnitt der Verfügbarkeit bekommen.
Wäre ja nicht so schwer wenn nicht 2 Server im Cluster(Server1 und Server2) laufen.

D.h. auch wenn Server1 ausfällt und die beiden anderen weiterlaufen, hab ich für den Benutzer eine Verfügbarkeit von 100%


Jedoch hab ich noch keinen Weg gefunden das bei der AVG() Funktion zu berücksichtigen.

Hoffe ihr könnt mir da helfen.

Tabelle sieht ca so aus

Code:
Date | Host | % UP | % DOWN |
20.02.10 | Server1 | 0 | 100 |
20.02.10 | Server2 | 100 | 0 |
20.02.10 | Server3 | 100 | 0 |
21.02.10

Content-ID: 155321

Url: https://administrator.de/contentid/155321

Ausgedruckt am: 05.11.2024 um 23:11 Uhr

jhinrichs
jhinrichs 18.11.2010 um 12:36:52 Uhr
Goto Top
Hallo,
das ist ja kein SQL-Problem, sondern ein mathematisches. Du musst erst einmal "Verfügbarkeit" des Clusters definieren, also geht es Dir a) um die statistische Ausfallwahrscheinlichkeit des Clusters, wenn Dir die Ausfallwahrscheinlichkeiten der Einzelrechner bekannt sind, oder geht es Dir b) um die tatsächliche Ausfallzeit des Clusters, also die Zeit, in der beide Server down sind?
Fall a):
p(AusfallCluster)=p(AusfallServer1)*p(AusfallServer2)

Fall b):
Nicht nur die einzelnen Server messsen, sondern den Cluster als Ganzes und als 4. Item in die Tabelle einfügenh

Grüße
Antos
Antos 18.11.2010 um 12:43:23 Uhr
Goto Top
Hi,
vielleicht ein Denkanstoß in die Richtung:

Server12UpTime = SELECT max(up) FROM tabelle WHERE (host ='server1' OR host='server2')

Evtl. als Unterabfrage.
mfg
Antos
Biber
Biber 18.11.2010 um 13:19:00 Uhr
Goto Top
Moin tomi707,

im Moment haben wir alle noch richtig viel Spielraum zur interpretation - es geht ja von Verfügbarkeit bis Ausfallwahrscheinlichkeit.

Ich fürchte, mit den Tabellendaten (oder soll das schon das Ergebnis-Resultset sein??) kommen wir nicht so richtig weiter.


Beispiel:

Wenn Server1 und Server2 gegenseitig füreinander einspringen, welches Ergebnis würdest du dann für z.B. den Folgetag errechnen wollen?

21.02.10 | Server1 | 50 | 50 |
21.02.10 | Server2 | 50 | 50 |
21.02.10 | Server3 | 100 | 0 |

Sowohl Server1 wie Server2 waren je 50% der Zeit "Up".
War aber nun Sever1 von 0:00h bis 12:00h durchgängig da und Server2 ab 12:00h mittags bis nach der Harald-Schmidt-Show?
Oder waren vielleicht beide nur anwesend während normaler Bürozeiten von 06:30 bis 18:30 und der Rest war Schweigen?

Der erste Fall bedeudet für deine DAUs 100% Verfügbarkeit, der zweite Fall eine Ausfallzeit von einem halben Tag.
Wie kommst du an diese Info?

Grüße
Biber