Wie viele Lese- und Schreibvorgänge hält eine MySQL-Datenbank aus bzw. wie viel Leistung braucht diese?

3 Antworten

Wenn du vernünftige Indizies anlegst, sollte es nicht ansatzweise Probleme geben. Wichtig ist gerade bei den Abfragen, das du keine Full-Table Scans machst sondern Abfragen wo am besten die WHERE Bedingung auf einen Index geht. 

Wenn es auch immer die selben Abfragen sind, ist es wichtig das Caching aktiviert zu haben( Ist aber glaube ich mittlerweile dauernd). Hier gibt es auch entsprechende Lösungen die dir massive Last nimmt, allerdings auch Hauptspeicher braucht in der der Cache dann vorgehalten wird.

Felix193 
Fragesteller
 26.06.2016, 21:44

ich cache alles direkt in Java, so spare ich noch mehr Leistung ;) Vielen Dank. Also 1 GB RAM reicht aus?

0

... rechne mit circa bis zu 200 Lesevorgängen und circa 50 Schreibvorgänge

  • Sicherlich nicht einmalig, oder?! ;) Also pro ... Was? ... Pro Minute? Pro Sekunde? Pro Millisekunde?
  • Alle parallel? Oder sequenziell?
  • Wie schnell muss verarbeitet werden?

Keine Antwort nötig; es soll dir nur helfen, besser zu fokussieren.

Tipp: Diese Antworten auf diese Fragen helfen, genauere Antworten geben zu können. Aber letztlich solltest du IMMER Last-Tests in der Produktiv-Umgebung machen, denn es kann 1.001 Gründe geben, warum eine eigentlich als "schnell" ausgerechnete Verbindung dann doch viel zu langsam ist.)

--------------------------

Nicht gerade völlig absurdes Design in Software, Anfragen-Struktur und Datenbank-Struktur vorausgesetzt: Im Normalfall wirst du den Flaschenhals eher bei Java finden. 

Wenn MySQL nicht mal die paar Anfragen wegstecken könnte, dann wäre es nicht mal als semi-professionelles DBMS geeignet. Nur, wenn die Anwendung hochresponsiv sein muss (was Java schon mal ausschließen würde), würdest du mit den Anforderungen (vielleicht) an Grenzen stoßen.

Größe des Datenbestandes? Komplexität der Anfragen? Hat der Rechner wenig oder viel Hauptspeicher?

Ohne genauere Angaben ist alles hier reine Kaffeesatzleserei.

Felix193 
Fragesteller
 26.06.2016, 21:26

Oh sorry, der Datenbestand umfasst mehrere Tabellen mit bis zu 4 Spalten und circa mehreren 1.000 einträgen. Teilweise aus Strings, aus Integern und auch booleans. Die Anfragen sind Simple und sollten nur eine Zeile betreffen, aus der bestimmte Werte gelesen werden. (Dementsprechend arbeite ich mit 'where') Der Server hat 100 GB Festplattenspeicher und 8 GB RAM, die aber größtenteils anderweitig benutzt werden (6-7 gb). Deswegen frage ich, um zuwissen, wie viel Leistung ich dazu buchen muss. Das ganze wird verwendet in Zusammenhang mit Java.

0
SergeantPinpack  26.06.2016, 21:33
@Felix193

Sinnvoll wäre sicherlich, einmal einen Lasttest durchzuführen, der den gesamten Stack umfasst (also incl. Java-Businesslayer), aber vom Gefühl her würde ich sagen, dass du den cori i7 nicht mal ansatzweise zum Schwitzen bringst ;)

0
Felix193 
Fragesteller
 26.06.2016, 21:42

also mysql ist nicht sehr CPU lastig? Wie sieht's mit dem RAM aus? Reicht da 1 GB?

0