Wieviele IOPS sind genug? Und warum gibt es im RZ davon so wenig?
Hallo,
mich hat gerade dies Thema getriggert.
Budget HA IT bei Hetzner mit Hyper-V-Replica
Dann habe ich mal zum Thema Geschwindigkeit geschaut am Beispiel eines Datenbank-Servers.
Das war ja "früher": 4x SAS 15k HDD im RAID 10 das Minimum. Das waren damals vermutlich so um 1.000 IOPS.
Ich verstehe durchaus warum ein HA Storage schneller ist als ein DAS.
Aber den Unterschied finde ich schon sehr deutlich. Sowohl bei den IOPS als auch Datenraten.
Jetzt die gemeine Frage: Wieviele IOPS braucht man denn so für einen SQL-Datenbank-Server?
Wenn die 45.000 nicht reichen würden, würde ja keiner Server in der Cloud mieten.
Oder liegt das primär daran, dass Server inzwischen so viel Speicher haben?
Alle nutzen nur noch VMs und immer wenige haben Server vor Ort.
Aber die sind halt viel langsammer.
Besonders wenn man mal ein Backup einer 1TB Datenbank machen möchte macht es schon einen Unterschied ob man mit 7.000 oder 500 MB/Sek kopiert.
Oder übersehe ich hier etwas?
Stefan
mich hat gerade dies Thema getriggert.
Budget HA IT bei Hetzner mit Hyper-V-Replica
Dann habe ich mal zum Thema Geschwindigkeit geschaut am Beispiel eines Datenbank-Servers.
Das war ja "früher": 4x SAS 15k HDD im RAID 10 das Minimum. Das waren damals vermutlich so um 1.000 IOPS.
- Aktuelle NVME Enterprise SSD ca. 1.000.000 IOPS und 7GB/Sek, Im RAID 10 eher noch schneller
- vServer mit HA Storage bei Wortmann: bis zu 64.000 und 0.5GB/Sek
- vServer mit HA Storage bei IONOS: bis zu 45.000 und 0.6GB/Sek
- vServer mit HA Storage bei Azure: Bis zu 400.000 und 10GB/Sek (Bei Ultra premium plus V2 irgendwas XYZ)
Ich verstehe durchaus warum ein HA Storage schneller ist als ein DAS.
Aber den Unterschied finde ich schon sehr deutlich. Sowohl bei den IOPS als auch Datenraten.
Jetzt die gemeine Frage: Wieviele IOPS braucht man denn so für einen SQL-Datenbank-Server?
Wenn die 45.000 nicht reichen würden, würde ja keiner Server in der Cloud mieten.
Oder liegt das primär daran, dass Server inzwischen so viel Speicher haben?
Alle nutzen nur noch VMs und immer wenige haben Server vor Ort.
Aber die sind halt viel langsammer.
Besonders wenn man mal ein Backup einer 1TB Datenbank machen möchte macht es schon einen Unterschied ob man mit 7.000 oder 500 MB/Sek kopiert.
Oder übersehe ich hier etwas?
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670476
Url: https://administrator.de/forum/wieviele-iops-sind-genug-und-warum-gibt-es-im-rz-davon-so-wenig-670476.html
Ausgedruckt am: 05.01.2025 um 16:01 Uhr
14 Kommentare
Neuester Kommentar
Moin
Die gemeine Antwort: IT depends 😁
Performance in der Cloud kostet halt Geld. Wem die buchbare Performance im IaaS Bereich (das sind ja alle Produkte die du ansprichst) nicht reicht, aber trotzdem Cloud will, weicht auf Housing oder Hosting aus.
Bedenke folgendes: IaaS ist shared. Das heißt, auch andere nutzen die Systeme. Und ja, da steht überall "bis zu". Irgendwo in den Leistungsbeschreibungen steht aber i.d.R. auch eine minimal zugesicherten Leistung. Die muss für alle Kunden auf den Systemen IMMER da sein, weil sonst Regressforderungen eintrudeln.
Wenn du jetzt in Richtung der Millionen IOPS gehen willst, brauchst du für (ggf. Deutlich) weniger Kunden mehr Systeme und mehr Infrastruktur. Das wird irgendwann unwirtschaftlich oder es trifft nicht die Zielgruppe.
Die Alternativen gibt es ja: Housing / Hosting mit dedizierter Hardware.
Gruß,
Avoton
Jetzt die gemeine Frage: Wieviele IOPS braucht man denn so für einen SQL-Datenbank-Server?
Die gemeine Antwort: IT depends 😁
Performance in der Cloud kostet halt Geld. Wem die buchbare Performance im IaaS Bereich (das sind ja alle Produkte die du ansprichst) nicht reicht, aber trotzdem Cloud will, weicht auf Housing oder Hosting aus.
Aber den Unterschied finde ich schon sehr deutlich. Sowohl bei den IOPS als auch Datenraten.
Bedenke folgendes: IaaS ist shared. Das heißt, auch andere nutzen die Systeme. Und ja, da steht überall "bis zu". Irgendwo in den Leistungsbeschreibungen steht aber i.d.R. auch eine minimal zugesicherten Leistung. Die muss für alle Kunden auf den Systemen IMMER da sein, weil sonst Regressforderungen eintrudeln.
Wenn du jetzt in Richtung der Millionen IOPS gehen willst, brauchst du für (ggf. Deutlich) weniger Kunden mehr Systeme und mehr Infrastruktur. Das wird irgendwann unwirtschaftlich oder es trifft nicht die Zielgruppe.
Die Alternativen gibt es ja: Housing / Hosting mit dedizierter Hardware.
Gruß,
Avoton
Moin,
Spannende Thematik.
Durch die Virtualisierung müssen ja nunmehr mehr Systeme (Datenbanken) auf das selbe Storage zugreifen. Als man noch schnelle Datenspeicher auf Basis von HDDs (mit 10k oder gar 15k) brauchte, hat man eben solche Systeme auf eigenen BareMetal Systemen betrieben. Der Rest lief dann als VM normal weiter.
Je mehr „Doppelwums“ die Storages unten drunter aber haben, desto schneller schiebt man auch mal eine VM mit schnellem Festspeicher in den Virtualisierung. Und dann braucht es eben ordentlich IOPS.
Wie @avatin schon schrieb: viele IaaS-Provider haben vermutlich (wissen tue ich das auch nicht) SAN-Infrastrukturen etabliert. Jeder neue Host wird dann angebunden und gut. So ist man als Provider sehr flexibel. Besser, als wenn ich jeden physischen Server mit Festspeicher ausstatte.
Und die IOPS lassen keine eindeutigen und vorallem Herstellerübergreifenden Eückschlüsse auf MByte/S zu. Das ist die Krux an den IOPS.
Und dann kommen noch andere Faktoren hinzu. Wurde das SAN per 128G FibreChannel angebunden oder oder 400G iSCSI? Wie wie Cache haben die einzelnen Storages?
Mal als zusätzlich offene Frage (weil ich das bisweilen nicht getestet habe/ testen konnte/ testen wollte): wie „performant“ sichhsind vSANs ggü. phys. SANs?
Das mit den IOPS ist ja gerade die Frage.
Vor 10 Jahren war man über 1.000 IOPS glücklich für den Datenbankserver des WAWI.
Braucht man heute wirklich 1.000.000 IOPS für die "gleiche" Software?
Oder reichen 10.000 aus?
Vor 10 Jahren war man über 1.000 IOPS glücklich für den Datenbankserver des WAWI.
Braucht man heute wirklich 1.000.000 IOPS für die "gleiche" Software?
Oder reichen 10.000 aus?
Spannende Thematik.
Durch die Virtualisierung müssen ja nunmehr mehr Systeme (Datenbanken) auf das selbe Storage zugreifen. Als man noch schnelle Datenspeicher auf Basis von HDDs (mit 10k oder gar 15k) brauchte, hat man eben solche Systeme auf eigenen BareMetal Systemen betrieben. Der Rest lief dann als VM normal weiter.
Je mehr „Doppelwums“ die Storages unten drunter aber haben, desto schneller schiebt man auch mal eine VM mit schnellem Festspeicher in den Virtualisierung. Und dann braucht es eben ordentlich IOPS.
Wie @avatin schon schrieb: viele IaaS-Provider haben vermutlich (wissen tue ich das auch nicht) SAN-Infrastrukturen etabliert. Jeder neue Host wird dann angebunden und gut. So ist man als Provider sehr flexibel. Besser, als wenn ich jeden physischen Server mit Festspeicher ausstatte.
Und die IOPS lassen keine eindeutigen und vorallem Herstellerübergreifenden Eückschlüsse auf MByte/S zu. Das ist die Krux an den IOPS.
Und dann kommen noch andere Faktoren hinzu. Wurde das SAN per 128G FibreChannel angebunden oder oder 400G iSCSI? Wie wie Cache haben die einzelnen Storages?
Mal als zusätzlich offene Frage (weil ich das bisweilen nicht getestet habe/ testen konnte/ testen wollte): wie „performant“ sichhsind vSANs ggü. phys. SANs?
Wie schnell muss der Storage der Cloud denn sein?
Was ist eigentlich schnell? Hohe Datentransferraten? Viele IOPS? Niedrige Latenzen?Wir haben z.B. ein System, dass nur wenige DB-Datensätze liest/ schreibt. Wenn aber die Verbindung selbst mal für > 1Sekunde hustet, muss der ganze Client neu gestartet werden..
Da sind bei uns die Latenzen wichtig…
Eine andere Applikation nimmt Maschinen Messdaten per OPC entgegen und schreibt die in eine MSSQL-DB. Da sind IOPS/ schnelle Reaktionszeiten wichtig…
Es ist auch schwierig zu testen, da man dafür Last auf dem System braucht. 2 Nutzer reichen dann nicht.
Schwierig...Habe gerade mal nach measuring IOPS gesucht und folgendes gefunden: How to Measure Disk IOPS Values
Selbst habe ich es nicht getestet. Vielleicht kann man es auf einem Live-System ja mal laufen lassen?
Es ist auch schwierig zu testen, da man dafür Last auf dem System braucht. 2 Nutzer reichen dann nicht.
Schwierig...
Dazu schreibt man sich ein Testscript oder GUI Automation die man dann auf mehrere VMs verteilt laufen lässt.Schwierig...
https://de.m.wikipedia.org/wiki/Liste_von_Software_f%C3%BCr_automatisier ...
Also bei 50 Usern und einer WAWI sehe ich das eher unkritisch. Mächtig viel IOPS brauchst du bspw. bei einem Webserver der von tausenden Besuchern gleichzeitig Last generiert, da ist ne WaWi ehrlich gesagt PillePalle im Belastungsranking bei der geringen Useranzahl.
Und wenn Latenz wirklich eine kritische Rolle spielt nimmt man halt eine In-Memory DB die im RAM läuft.
Gruß gastric
Moin @StefanKittel,
so pauschal, also, dass ein HA Storage generell schneller wie ein DAS ist, kann man das nun auch nicht behaupten.
Im Gegenteil, gerade bei kleinen Lese.- oder gar Schreibanforderungen, kann ein DAS (ohne RAID) machmal deutlich schneller als ein SAN oder gar NAS sein. Das liegt mitunter daran, dass ein DAS nativ mit 4K, oder gar noch 512B angesprochen werden kann, die meisten SAN's die ich kennen, verarbeiten intern jedoch immer mindestens 64K und haben auch deshalb, grundsätzlich eine etwas höhere Latenz, vor allem bei kleinen random IO's, als ein vergleichbares DAS.
Mitunter aus diesem Grund, setzen wir übrigens nur Infortrend SAN's bei unseren Projekten ein, weil diese nicht mit min. 64K, sondern mit min. 16K arbeiten. 😁
Achte bitte insbesondere bei SQL nicht so sehr auf die IO's oder gar die Datenraten, sondern eher auf Dinge wie Latenz. 😉
Wie schon oben angedeutet, bei einem SQL Server sind zwar auch IO's wichtig, viel wichtiger ist jedoch, mit welcher Latenz die IO's abgearbeitet/qutiert werden.
Ja, wenn du genug RAM in deinem SQL Server hast, damit dieser die ganze DB cachen kann, dann spielt die Performance des Storages, insbesondere bei lesenden Anforderungen, eher eine untergeordnete Rolle, weil die meisten dieser Zugriffe, bereits schon durch den RAM bedient werden.
Alle SQL Server unserer Kunden laufen als VM's, aber auf Servern und SAN vor Ort.
Nö keineswegs, sonst hätte uns schon so gut wie jeder Kunde schon längst die Leviten gelesen.
Ähm, Vorsicht, ein DB Backup vor allem ein Vollbackup oder auch Restore, ist ein rein sequentieller Workload, der so eben nur beim Backup oder Restore der Datenbank vorkommt.
Im Tagesbetrieb ist jedoch meistens eher die Randomperformance entscheidend und nicht die sequentielle. 😉
Teste lieber mal mit DISKSPD ...
https://learn.microsoft.com/de-de/azure/azure-local/manage/diskspd-overv ...
https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zi ...
... und zwar mit den folgenden Parametern ...
Lesend:
Schreibend:
Oder für einen 80%lesend und 20% schreibend Mix:
... und vergleiche mal diese Ergebnisse gegeneinander. 😉
By the way, wenn es geht solltest du die Testdateigrösse "-c10G" = 10GByte, genau so gross machen, wie die angepeilte DB gross ist.
Gruss Alex
Ich verstehe durchaus warum ein HA Storage schneller ist als ein DAS.
so pauschal, also, dass ein HA Storage generell schneller wie ein DAS ist, kann man das nun auch nicht behaupten.
Im Gegenteil, gerade bei kleinen Lese.- oder gar Schreibanforderungen, kann ein DAS (ohne RAID) machmal deutlich schneller als ein SAN oder gar NAS sein. Das liegt mitunter daran, dass ein DAS nativ mit 4K, oder gar noch 512B angesprochen werden kann, die meisten SAN's die ich kennen, verarbeiten intern jedoch immer mindestens 64K und haben auch deshalb, grundsätzlich eine etwas höhere Latenz, vor allem bei kleinen random IO's, als ein vergleichbares DAS.
Mitunter aus diesem Grund, setzen wir übrigens nur Infortrend SAN's bei unseren Projekten ein, weil diese nicht mit min. 64K, sondern mit min. 16K arbeiten. 😁
Aber den Unterschied finde ich schon sehr deutlich. Sowohl bei den IOPS als auch Datenraten.
Achte bitte insbesondere bei SQL nicht so sehr auf die IO's oder gar die Datenraten, sondern eher auf Dinge wie Latenz. 😉
Jetzt die gemeine Frage: Wieviele IOPS braucht man denn so für einen SQL-Datenbank-Server?
Wenn die 45.000 nicht reichen würden, würde ja keiner Server in der Cloud mieten.
Wenn die 45.000 nicht reichen würden, würde ja keiner Server in der Cloud mieten.
Wie schon oben angedeutet, bei einem SQL Server sind zwar auch IO's wichtig, viel wichtiger ist jedoch, mit welcher Latenz die IO's abgearbeitet/qutiert werden.
Oder liegt das primär daran, dass Server inzwischen so viel Speicher haben?
Ja, wenn du genug RAM in deinem SQL Server hast, damit dieser die ganze DB cachen kann, dann spielt die Performance des Storages, insbesondere bei lesenden Anforderungen, eher eine untergeordnete Rolle, weil die meisten dieser Zugriffe, bereits schon durch den RAM bedient werden.
Alle nutzen nur noch VMs und immer wenige haben Server vor Ort.
Alle SQL Server unserer Kunden laufen als VM's, aber auf Servern und SAN vor Ort.
Aber die sind halt viel langsammer.
Nö keineswegs, sonst hätte uns schon so gut wie jeder Kunde schon längst die Leviten gelesen.
Besonders wenn man mal ein Backup einer 1TB Datenbank machen möchte macht es schon einen Unterschied ob man mit 7.000 oder 500 MB/Sek kopiert.
Ähm, Vorsicht, ein DB Backup vor allem ein Vollbackup oder auch Restore, ist ein rein sequentieller Workload, der so eben nur beim Backup oder Restore der Datenbank vorkommt.
Im Tagesbetrieb ist jedoch meistens eher die Randomperformance entscheidend und nicht die sequentielle. 😉
Teste lieber mal mit DISKSPD ...
https://learn.microsoft.com/de-de/azure/azure-local/manage/diskspd-overv ...
https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zi ...
... und zwar mit den folgenden Parametern ...
Lesend:
diskspd -t1 -o1 -b4k -r4k -w0 -d60 -Su -D -L -c10G C:\temp\IO10G.dat
Schreibend:
diskspd -t1 -o1 -b4k -r4k -w100 -d60 -Su -D -L -c10G C:\temp\IO10G.dat
Oder für einen 80%lesend und 20% schreibend Mix:
diskspd -t1 -o1 -b4k -r4k -w20 -d60 -Su -D -L -c10G C:\temp\IO10G.dat
... und vergleiche mal diese Ergebnisse gegeneinander. 😉
By the way, wenn es geht solltest du die Testdateigrösse "-c10G" = 10GByte, genau so gross machen, wie die angepeilte DB gross ist.
Gruss Alex
Moin @em-pie,
das finde ich auch.
Das ist so nur bedingt richtig, denn IO's lassen sich generell schon 1:1 in Durchsatz umrechnen.
Beispiel.
Wenn ein Storage 1.000.000 4K IO's leistet, dann muss es auch einen Durchsatz von min. 4K * 1.000.000 IO's = 4.000.000K/s = 3.906,25 MB/s = ~3,814 GB/s liefern.
Das Problem dabei ist jedoch, dass die Hersteller weder die IO noch die Durchsatzleistung mit denselben Kriterien ermitteln und genau deshalb, kann man deren Angaben leider auch nicht wirklich miteinander vergleichen. 😔
Zudem gibt so gut wie kein Hersteller an, bei weilcher Latenz die entsprechende Performance ermittelt wurde. 😭
Denn 1.000.000 IO's mit einer Latenz von 5ms, sind ganz sicher nicht dasselber wie 1.000.000 IO's mit einer Latenz von 0,1ms.
Definitiv 128G FC, die sind latenztechnisch auf jeden Fall viel flinker wie die 400G iSCSI, vor allem bei Windows.
Na ja, auch das ist leider nicht ganz so einfach zu beantworten. Denn ein vSAN ist nicht gleich ein vSAN und ein SAN ist leider auch nicht gleich SAN. 😔
Selbst und insbesondere vSAN's vom selben Hersteller, kannst du nicht wirklich 1:1 miteinander vergleichen, weil deren Leistung extrem von den verwendeten Host-CPU's, den RAM, den verwendeten NIC's, den SSD's und insbesondere auch der Konfiguration abhängt.
Und bei SAN's ist es leider ähnlich.
Erst vor ein paar Monaten meinte ein vorlauter HPE Verkäufer bei einem unserer Kunden, dass deren neue Alletra MP auf jeden Fall um Welten besser währe, als das was wir angeboten haben und vor allem das, was der Kunde jetzt schon besitzt. Dann hat der Kunde auf mein Anraten um eine Leihstellung gebetten, damit er sich von der sagenhaften performance selbst überzeugen kann und kurz danach hat er sein neues SAN bei uns bestellt, weil diese sagenhafte Alletra MP, es nicht mal mit seinem bisherigem, über 6 Jahre altem Infortrend SAN aufnehmen konnte. 🙃
Ach so, ja by the way, in der DS4000 die er davor hatte, werkelte lediglich eine 6 Kern CPU pro Controller und die Alletra MP die er zum Testen bekommen hat, war mit 16 Kernen pro Kontroller bestückt. 😁
OK, gut, die Alletra MP hat eine KI und die Infortrend nicht. 😔
Vielleicht ist aber auch deshalb, selbst die alte Infortrend ja auch etwas flinker gewesen. 🤪
Gruss Alex
Spannende Thematik.
das finde ich auch.
Und die IOPS lassen keine eindeutigen und vorallem Herstellerübergreifenden Eückschlüsse auf MByte/S zu. Das ist die Krux an den IOPS.
Das ist so nur bedingt richtig, denn IO's lassen sich generell schon 1:1 in Durchsatz umrechnen.
Beispiel.
Wenn ein Storage 1.000.000 4K IO's leistet, dann muss es auch einen Durchsatz von min. 4K * 1.000.000 IO's = 4.000.000K/s = 3.906,25 MB/s = ~3,814 GB/s liefern.
Das Problem dabei ist jedoch, dass die Hersteller weder die IO noch die Durchsatzleistung mit denselben Kriterien ermitteln und genau deshalb, kann man deren Angaben leider auch nicht wirklich miteinander vergleichen. 😔
Zudem gibt so gut wie kein Hersteller an, bei weilcher Latenz die entsprechende Performance ermittelt wurde. 😭
Denn 1.000.000 IO's mit einer Latenz von 5ms, sind ganz sicher nicht dasselber wie 1.000.000 IO's mit einer Latenz von 0,1ms.
Und dann kommen noch andere Faktoren hinzu. Wurde das SAN per 128G FibreChannel angebunden oder oder 400G iSCSI?
Definitiv 128G FC, die sind latenztechnisch auf jeden Fall viel flinker wie die 400G iSCSI, vor allem bei Windows.
Mal als zusätzlich offene Frage (weil ich das bisweilen nicht getestet habe/ testen konnte/ testen wollte): wie „performant“ sichhsind vSANs ggü. phys. SANs?
Na ja, auch das ist leider nicht ganz so einfach zu beantworten. Denn ein vSAN ist nicht gleich ein vSAN und ein SAN ist leider auch nicht gleich SAN. 😔
Selbst und insbesondere vSAN's vom selben Hersteller, kannst du nicht wirklich 1:1 miteinander vergleichen, weil deren Leistung extrem von den verwendeten Host-CPU's, den RAM, den verwendeten NIC's, den SSD's und insbesondere auch der Konfiguration abhängt.
Und bei SAN's ist es leider ähnlich.
Erst vor ein paar Monaten meinte ein vorlauter HPE Verkäufer bei einem unserer Kunden, dass deren neue Alletra MP auf jeden Fall um Welten besser währe, als das was wir angeboten haben und vor allem das, was der Kunde jetzt schon besitzt. Dann hat der Kunde auf mein Anraten um eine Leihstellung gebetten, damit er sich von der sagenhaften performance selbst überzeugen kann und kurz danach hat er sein neues SAN bei uns bestellt, weil diese sagenhafte Alletra MP, es nicht mal mit seinem bisherigem, über 6 Jahre altem Infortrend SAN aufnehmen konnte. 🙃
Ach so, ja by the way, in der DS4000 die er davor hatte, werkelte lediglich eine 6 Kern CPU pro Controller und die Alletra MP die er zum Testen bekommen hat, war mit 16 Kernen pro Kontroller bestückt. 😁
OK, gut, die Alletra MP hat eine KI und die Infortrend nicht. 😔
Vielleicht ist aber auch deshalb, selbst die alte Infortrend ja auch etwas flinker gewesen. 🤪
Gruss Alex
Zitat von @StefanKittel:
Hallo,
mich hat gerade dies Thema getriggert.
Budget HA IT bei Hetzner mit Hyper-V-Replica
Dann habe ich mal zum Thema Geschwindigkeit geschaut am Beispiel eines Datenbank-Servers.
Das war ja "früher": 4x SAS 15k HDD im RAID 10 das Minimum. Das waren damals vermutlich so um 1.000 IOPS.
Oder übersehe ich hier etwas?
Stefan
Hallo,
mich hat gerade dies Thema getriggert.
Budget HA IT bei Hetzner mit Hyper-V-Replica
Dann habe ich mal zum Thema Geschwindigkeit geschaut am Beispiel eines Datenbank-Servers.
Das war ja "früher": 4x SAS 15k HDD im RAID 10 das Minimum. Das waren damals vermutlich so um 1.000 IOPS.
- Aktuelle NVME Enterprise SSD ca. 1.000.000 IOPS und 7GB/Sek, Im RAID 10 eher noch schneller
- vServer mit HA Storage bei Wortmann: bis zu 64.000 und 0.5GB/Sek
- vServer mit HA Storage bei IONOS: bis zu 45.000 und 0.6GB/Sek
- vServer mit HA Storage bei Azure: Bis zu 400.000 und 10GB/Sek (Bei Ultra premium plus V2 irgendwas XYZ)
Oder übersehe ich hier etwas?
Stefan
Hallo,
das Lesen der Angabe ist immer ein Problem, Miete dir einen Rootserver oder eine Colocation, dann wirst du das "v" Problem los ....