Ich verwende keine SSDs als HTTP-Caches, kann aber folgende Beobachtungen machen:
Nicht alle SSDs sind gleich, daher müssen Sie sehr vorsichtig sein, wenn Sie anständige auswählen. FusionIO stellt PCIe-gestützte SSDs her, die wirklich High-End-Performer (mit relativ geringer Kapazität) sind, aber teuer. Intels X25-E-SLC-SSDs arbeiten sehr gut und sind erschwinglicher, haben aber immer noch eine geringe Kapazität. Recherchiere! Ich kann die X25-E SLC-Varianten definitiv empfehlen, da ich diese in Produktionssystemen verwende.
Es gibt andere SSDS, die möglicherweise eine hohe sequentielle Lese- / Schreibgeschwindigkeit bieten. Wichtig für einen Cache ist jedoch die zufällige E / A, und viele SSDs bieten ungefähr die gleiche zufällige Leistung wie sich drehende Festplatten. Aufgrund von Schreibverstärkungseffekten auf SSDs erzielen sich drehende Festplatten häufig eine bessere Leistung. Viele SSDs haben Controller mit schlechter Qualität (z. B. ältere JMicron-Controller), die in einigen Situationen unter einer erheblich beeinträchtigten Leistung leiden können. Anandtech und andere Websites führen gute Vergleiche mit Tools wie iometer durch.
Und natürlich sind SSDs klein. Der Intel X25-E, von dem ich sagen würde, dass er die beste SATA-SSD ist, die ich je gesehen habe, ist nur in 32- und 64-GB-Varianten erhältlich.
Für RAID-Level gelten weiterhin Standard-RAID-Leistungshinweise. Beim Schreiben in ein RAID 5 wird grundsätzlich der zu ändernde Datenblock gelesen, der Paritätsblock gelesen, die Parität aktualisiert, der Datenblock geschrieben und die Parität geschrieben, sodass die Leistung immer noch schlechter ist als bei anderen RAIDs Ebenen, auch mit SSDs. Bei Laufwerken wie dem X25-E mit einer derart hohen zufälligen E / A-Leistung ist dies wahrscheinlich weniger wichtig, da zufällige E / A auf sich drehenden Festplatten für ein Array ähnlicher Größe immer noch besser abschneiden.
Soweit ich gesehen habe, ist die Bandbreite des RAID-Controllers zu früh gesättigt, um den größten Nutzen aus einem RAID-Set mit 7 Festplatten zu ziehen, zumindest was die sequentielle Leistung betrifft. Mit aktuellen Modellen von SATA-Controllern (3ware, Areca usw.) können Sie nicht mehr als 800 MB / s erreichen. Wenn Sie mehr kleinere Arrays auf mehreren Controllern haben (z. B. mehrere RAID1s anstelle eines einzelnen RAID10), wird dies verbessert, obwohl die individuelle Leistung jedes Arrays darunter leidet.
In Bezug auf einen HTTP-Cache denke ich, dass Sie mit einer anständigen Anzahl von sich drehenden Festplatten und viel RAM besser bedient werden sollten. Objekte, auf die häufig zugegriffen wird, verbleiben im Speichercache - entweder im internen Cache von squid oder im fs-Cache Ihres Betriebssystems. Wenn Sie einer Maschine einfach mehr RAM geben, kann dies das Laden der Festplatte erheblich reduzieren. Wenn Sie einen großen Squid-Cache verwenden, benötigen Sie wahrscheinlich viel Speicherplatz, und die leistungsstarken SSDs haben immer noch nur eine relativ geringe Kapazität.