Ergebnis 1 bis 6 von 6

Thema: RAID Diskussions-Thread

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Professional Avatar von noxon
    Registriert seit
    12.05.2006
    Beiträge
    3.340

    Standard

    Große unterschiede gibt es da nicht.
    Die Stripe Size gibt nur an, wie groß die Blöcke sind, die gespiegelt werden.

    Wenn du 128 KB angibst, dann werden zum Beispiel alle Dateien, die kleiner sind als 128 KB nicht gespiegelt, sondern nur auf einer Platte abgelegt.
    Erst wenn Dateien größer sind, dann werden sie in mehrere 128 KB Blöcke geteilt und getrennt auf den Festplatten abgelegt. Die Folge ist also, dass kleine Dateien nicht beschleunigt werden.

    Eine große Stripe-Size hat außerdem zur Folge, dass du mehr Kapazitätsverluste hast, wenn du die Dateien ablegst. Nehmen wir an, deine Datei ist 128.001 Byte groß, dann wird auf der ersten Platte ein 128 KB Block angelegt in dem die ersten 128.000 Byte stehen und auf der zweiten Platte wird ebenfalls ein 128 KB Block angelegt in dem allerdings nur 1 Byte steht.

    127.999 Byte werden also gar nicht verwendet und können auch nicht mehr von anderen Dateien genutzt werden. Das ist natürlich der Worst Case. In Wirklichkeit ist das halb so schlimm. Pro Datei hast du Stripe-Size/2 Verlust.

    Bei 500.000 Dateien auf deiner Platte sind das 32 MB, die dir dabei flöten gehen.


    Jetzt sollte man aber trotzdem meinen, dass es sinnvoll ist, die Blöcke so klein wie möglich zu gestalten. Zum Einen hat man weniger Verluste und zum Anderen werden auch kleinere Dateien gespiegelt.
    Das stimmt auch, aber der Nachteil bei kleinen Blöcken ist der hohe Verwaltungsaufwand, der sich wieder negativ auf die Performance auswirkt. Besonders bei OnBoard Controllern kann die CPU Auslastung stark ansteigen, wenn man zum Beipsiel nur 1 KB Blöcke verwendet.
    Das kann dann unter anderem zu Rucklern in Spielen führen, wenn beim Nachladen von Leveldaten auf einmal die Prozessorlast um 50% ansteigt.

    Letztendlich würde ich 64 oder 128 KB Blöcke verwenden. Bei deinen 500'er Platten kannst du ruhig 128 KB nehmen. Das ist schon OK.

    Verbessern kannst du an deinem Raid 0 soweit nichts mehr. OnBoard-Controller sind im Raid 0 mindestens genauso gut, wie externe Controller und es bringt auch nichts deine Clustersize des Dateisystems an die Stripe-Size des Arrays anzupassen, wie das manchmal behauptet wird.
    Es ist nicht so, dass ein 4 KB Cluster auch in ein 4 KB Stripe Block geschrieben wird.

    Naja. Wie gesagt. Lass es so wie es ist. Viel verbessern kannst du da nicht mehr.
    Ich selbst hatte mal eine Testreihe mit 1k, 2k, 4k, 8k, 32k, 64k und 128k Stripes durchgeführt und lediglich Unterschiede in der Prozessorauslastung festgestellt.
    Geändert von noxon (14.06.2008 um 21:53 Uhr)

    Lest euch bitte unsere FAQs für grundsätzliche Fragen zu Crysis durch und beachtet bitte unsere Forenregeln.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •