Erlangs 99,9999999% (neun Neunen) Zuverlässigkeit
Erlang war berichtet worden, die in der Produktion eingesetzten Systeme seit über 20 Jahren mit einer Betriebszeit von 99.9999999%.
Ich habe die Mathematik, wie die folgende:
20*365.25*24*60*60*(1 - 0.999999999) == 0.631 s
Das heißt, das system hat nur weniger als eine Sekunde Ausfallzeit während des Zeitraums von 20 Jahren. Ich versuche nicht, die Herausforderung, die Gültigkeit dieses, ich bin nur neugierig, wie wir das Herunterfahren eines Systems (auf Zweck oder durch Unfall) für nur 0.631 Sekunde. Könnte jemand die vertraut sind mit großen software-system, das uns das erklären? Danke.
Weiß jemand, wie die Berechnung der Ausfallzeit eines Dienstes über ein cluster von Verarbeitungseinheiten (oder Maschinen)?
InformationsquelleAutor der Frage Ning | 2011-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Zuverlässigkeit Abbildung sollte nicht zu Messen die Gesamtzeit, die alle Teil der
AXD301
(Projekt in Frage) war immer heruntergefahren seit über 20 Jahren. Es repräsentiert die gesamte Zeit über diejenigen, die 20 Jahre zu, dass die Dienstleistung durch dieAXD301
system war immer offline. Feine Unterschied. Als Joe Armstrong sagt hier:Wenn Sie ein bisschen tiefer Graben, in der die Dissertation geschrieben von Joe, der ursprüngliche Autor von Erlang (die auch eine Fallstudie von
AXD301
), Lesen Sie:So, solange das Netzwerk, der switch war ein Teil lief ohne Ausfallzeiten, kann der Autor Staates "neun Neunen Zuverlässigkeit" für
AXD301
(das war alles, was er jemals sagte, die Vermeidung von Besonderheiten). Es bedeutet nicht unbedingt, Erlang ist die einzige Ursache für eine derart hohe Zuverlässigkeit.EDIT: In der Tat, "20 Jahre" selbst scheint wie eine Fehlinterpretation. Joe nennt eine Zahl von 20 Jahren in den gleichen Artikel, aber es ist nicht tatsächlich mit der neun-prozentige Zuverlässigkeit Abbildung, die potentiell kam aus einem viel kürzeren Studie (wie andere erwähnt haben).
InformationsquelleAutor der Antwort darvids0n
Während die anderen sich mit den spezifischen Fall Sie ' re Fragen, Ihre Frage zu sein scheint, basiert auf einem Irrtum. Die Art und Weise haben Sie die Frage gestellt hat, lässt mich glauben, dass Sie denken, es ist ein manueller Prozess, um das system wieder zum laufen, nachdem es abstürzt oder heruntergefahren für Wartungsarbeiten.
Erlang hat mehrere Funktionen zu entfernen, die menschliche Arbeitszeit als Quelle von Ausfallzeiten:
Hot code nachladen. In einer Erlang-system, es ist einfach zu kompilieren und laden Sie eine Ersatz-Modul für eine vorhandene. Der STRAHL emulator funktioniert die swap automatisch, ohne offenbar nichts stoppen. Es gibt sicherlich einige winzige Menge der Zeit, während der diese übertragung geschieht, aber es geschieht automatisch in der computer-Zeit, sondern als manuell in der menschlichen Zeit. Dies macht es möglich, ein Upgrade mit im wesentlichen null Ausfallzeiten. (Sie können die Ausfallzeit, wenn Sie die Ersatz-Modul hat einen bug, der Abstürze des Systems, aber das ist, warum Sie testen vor der Bereitstellung in der Produktion.)
Aufsichtsbehörden. Erlang die OTP-Bibliothek hat einen aufsichtsrechtlichen Rahmen eingebaut, die können Sie definieren, wie das system reagieren soll, wenn ein Modul abstürzt. Die standard-Aktion hier, ist das Neustarten des fehlerhaften Moduls. Vorausgesetzt, die neu gestartet-Modul nicht sofort wieder Abstürzen, die gesamte Ausfallzeit berechnet gegen Ihr system könnte eine Frage von Millisekunden. Ein solides system, dass sich kaum jemals abstürzt, könnte in der Tat ansammeln, die nur einen Bruchteil einer Sekunde der gesamten Ausfallzeit im Laufe der Jahre der Laufzeit.
Prozesse. Diese entsprechen in etwa threads auch in anderen Sprachen, außer, dass Sie nicht teilen Zustand, außer durch persistente Daten speichert. Andere als die Kommunikation geschieht über message passing. Da Erlang-Prozesse sind sehr günstig (viel billiger als OS-threads) dies fördert eine lose gekoppelte design, so dass, wenn ein Prozess stirbt, nur einen winzigen Teil des Systems Erfahrungen Ausfallzeiten. In der Regel ist der supervisor neu gestartet wird, ein Prozess, mit wenig bis gar keine Auswirkungen auf den rest des Systems.
Asynchrone message-passing -. Wenn ein Prozess will sagen anderen etwas, es ist ein first-class-operator in der Erlang-Sprache, mit der Sie es tun. Der Vorgang zum senden von Mitteilungen muss nicht warten, bis der Empfänger die Nachricht zu verarbeiten, und es nicht zu koordinieren, und Eigentum von Daten, die gesendet werden. Die asynchrone funktionelle Natur des Erlang message-passing-system kümmert sich um all das. Dies hilft, hohe Standzeiten, weil es reduziert den Effekt, dass die Ausfallzeiten in einem Teil eines Systems auf die anderen Teile.
Clustering. Dies folgt aus dem vorherigen Punkt: Erlang message passing-Mechanismus arbeitet transparent zwischen Maschinen in einem Netzwerk, also einem sendenden Prozess nicht einmal zu kümmern, dass der receiver auf einer separaten Maschine. Dies bietet einen einfachen Mechanismus für das teilen einer Arbeitslast bis unter viele Computer, von denen jeder können gehen nach unten, getrennt, ohne dass das gesamte system uptime.
InformationsquelleAutor der Antwort Warren Young
Den 99.9999999% Verfügbarkeit Abbildung ist eine oft zitierte, aber im Grunde irreführende Statistik. Fußmatte Cronqvist, einer der AXD-301-team-Mitglieder, gab eine Präsentation (video) (die ich besucht habe) im Jahr 2010 Erlang Factory-Konferenz in San Francisco, diskutieren diese genaue Verfügbarkeit-Statistik. Laut ihm, es wurde behauptet, die von British Telecom für einen Zeitraum (ich glaube von Januar bis September 2002) der "5-Knoten-Jahren" mit der AXD-301. Es waren 14 Knoten, Durchführung von live-Verkehrs durch das Ende der Studie.
Cronqvist ausdrücklich vermerkt, dass dies nicht repräsentativ für die gesamte AXD-301 Geschichte, oder Erlang im Allgemeinen, und er war nicht glücklich darüber, dass Joe Armstrong hielt das zitieren dieser, führt zu übertriebenen Erwartungen von Erlang die Zuverlässigkeit. Andere geschrieben haben , dass fünf Neunen ist eine mehr realistische Abbildung.
Es sollte erwähnt werden, dass ich bin ein glühender Erlang-supporter und-Entwickler, die glaubt, dass der fachmännische Einsatz von Erlang in der Tat führen, sehr hoch verfügbare Systeme, sondern nur reduzieren will, der hype. Ich natürlich davon ausgegangen, dass Cronqvist die Darstellung des Sachverhalts richtig ist, und haben keinen Grund etwas anderes zu glauben.
InformationsquelleAutor der Antwort Edwin Fine
Mein Verständnis dieser Statistik ist, dass es berechnet sich über ALLE AXD301-Systeme in der Produktion. Wir können erwarten, dass, wenn ein AXD301 hat ein ernstes problem, es wäre für mehr als 0.631 Sekunden. Während dieser pediod, andere AXD301 übernehmen, zu halten das Netzwerk funktionsfähig.
Jedoch, wenn Sie die Summe die Gesamtzahl der Stunden der Laufenden AXD301, stellen Sie das Verhältnis für die man andernfalls AXD301, finden Sie 99.999999%
So verstehe ich diese Zahl.
Hoffe, dass dies helfen.
InformationsquelleAutor der Antwort Bernard Notarianni