Keine Ahnung welcher Prozessor (bei mir mit 4 Kernen) da emuliert wird, aber bei solchen Abfragen ist der Prozessor auch zweitrangig. Viel wichtiger ist ausreichend Speicher (>8 GB für den DB Server) und eine gute Anbindung an das IO-Subsystem.
IOPS, MySQL schneller mit SSD?
- Qnatsch
- Unerledigt
-
-
Keine Ahnung welcher Prozessor (bei mir mit 4 Kernen) da emuliert wird,
Ich rede von"bare Metal"deines Servers, nicht der Emulation oder Passthrough...
-
Ok, ich möchte hier keine Wortklauberei betreiben, weil ich mich in den Details einer VM (bei mir ist es eine VMWare mit Windows 10 Installation) zu wenig auskenne. Diese VM ist konfiguriert mit 4 Kernen und 16 GB Hauptspeicher.
Diese Konfiguration, das wollte ich aussagen, ist grundsätzlich potent genug, um Datenbank Inhalte angemessen schnell zu verarbeiten.
-
Ist immernoch keine Antwort auf die Specs des eigentlichen Servers.
"4 Kerne" ja von welcher Basis ? Atom,Celeron,Pentium,I3/5/7/9,Xeon | Ryzen
Ist doch ne ganz einfache Frage und keine Wortklauberei
-
Basis (sprich mein PC) ist ein schon fast betagter i7 (6700K) mit 32 GB Hauptspeicher und 2 SATA SSDs (500GB und 2TB). Du kannst mir aber glauben, dass das nur sehr wenig mit der Performance des SQL Server in der VM zu tun hat.
Vielmehr ist es das gesamte Paket, das darüber entscheidet, ob die Abfragen performant laufen oder nicht.
-
Du kannst mir aber glauben, dass das nur sehr wenig mit der Performance des SQL Server in der VM zu tun hat.
Vielmehr ist es das gesamte Paket, das darüber entscheidet, ob die Abfragen performant laufen oder nicht.
Zum Thema Paket, bitte diesen Post beachten. Hab ja nie was anderes gesagt.
-
Zum Thema Paket, bitte diesen Post beachten. Hab ja nie was anderes gesagt.
Offenbar bin ich zu blöde, um Deine Posts zu verstehen. Für mich sieht es eher danach aus, als hättest Du von der Materie keine Ahnung, aber wenn Du meinst, dann halte ich mich jetzt einfach zurück.
-
Du erzählst hier was von Datenbanken auf nem I7 (auch Typ2 Hypervisor so wie es scheint) , mit ner Gastmaschine mit 4 Kernen.
Das ist mitnichten das gleiche wie ein Celeron (hat an sich nur 4 Kerne) mit QTS>KVM (VM Station) mit ner VM die einen Datenbank Server beheimatet
Wo ist denn ein kleiner Celeron NAS das gleiche "Gesamtpaket" wie ein Dicker i7 ?
Klar kann man sagen .. ja aber ich geb der VM ja 4 Kerne, aber dann ist das Gesamtpacket immer noch nicht gleich (egal wie viel RAM und IOPS storage dahinter
stehen.Aber ich hab halt keine Ahnung .. bin halt nur Flaschensammler von Beruf.. wa ?
-
bin halt nur Flaschensammler von Beruf
ist doch auch ein schöner Beruf ...
-
Rudern wir einfach mal ein flaches Wasser zu zurück hier...
Wie wäre es denn mal dein Query hier zu posten ?
Dann könnten dann mal Experten (Gondil1704) drüber gucken und ggf. Tips geben wie man nicht ein 'hartes select' auf über 111 Millionen Datensätze fahrt (indexes,etc)
Die GUI Software scheint das ja auch ohne Probleme hinzubekommen.. also sollte das ja möglich sein
-
Wie wäre es denn mal dein Query hier zu posten ?
ja
SELECT * FROM `data` WHERE channel_id=25 ORDER BY `data`.`value` ASC
viel ist es nicht.
Aber der NAS ist es wohl zuviel.
-
@Qnatsch, das ist so ziemlich die einfachste Form einer Abfrage an den DB Server. Optimierungspotential besteht natürlich trotzdem. Zunächst würde ich die Spaltenliste genau benennen (also: Select Feld1, Feld2, ..., Feldn). Danach sollte vielleicht einfach mal die Anzahl der Datensätze gezählt werden, um vor Überraschungen sicher zu sein: Select count(*) From 'data' Where channel_id = 25.
Diese Anzahl darf natürlich nicht zu groß sein, weil ansonsten das Ergebnis nur mit großem Aufwand zurückgegeben werden kann.
Die Sortierung würde ich zunächst einmal komplett weglassen, weil diese natürlich auch ein Performancekiller sein kann (z.B. wenn die Daten dafür zunächst temporär zwischengespeichert werden müssen).
Wenn das alles nicht weiterhilft würde ich einen Index auf das Feld channel_id legen:
Create index idx_channel_id on data (channel_id);
-
Die Sortierung würde ich zunächst einmal komplett weglassen
das ist leider das was ich genau brauche um Ausreißer nach oben und unten zu finden.
-
Kannst Du denn schon eine Antwort darauf geben, wieviele Datensätze von der Abfrage betroffen sind? Alternativ kannst Du natürlich auch direkt größte und kleinste Werte abfragen:
Select min(value), max(value) From data where channel_id = 25
-
bei einem channel sind es 33mio, dann 3 mal 11mio usw.