Von MySQL empfohlene Hardware

7

Unsere Unternehmensserver werden derzeit auf einem VPS gehostet, und wir haben uns für dedizierte Server entschieden.

Was sollten wir bei der Auswahl der besten Hardware für einen DB-Server mehr Ressourcen investieren: bessere CPU (mehr Kerne)? oder mehr RAM?

Wo ist der beste ROI?

Irgendwelche Vorschläge?

Ran
quelle
3
Es ist schwierig, ohne die Arbeitslast und das Setup Ihrer Datenbank zu kennen. OLTP / DWH / MySQL & memcached / etc ...?
Philᵀᴹ
Ich bin interessiert an Servern zu unseren MySQL-Datenbanken. Wir haben einen Meister und 3 Sklaven. Die Datenbankgröße beträgt ca. 150 GB. Es gibt ein Verhältnis von etwa 3: 1 Lese- zu Schreibvorgängen.
Ran

Antworten:

11

Sie sollten in beide investieren.

Wenn Sie bei MySQL InnoDB als Standardspeicher-Engine verwenden, müssen Sie ein Upgrade auf MySQL 5.5 durchführen, um mehr Kerne verwenden zu können. Hier sind einige meiner früheren Beiträge zu diesem Thema

Als Referenz habe ich einen Kunden bei der Webhosting-Firma meines Arbeitgebers, der drei DB-Server in Circular Replication hat. Jeder DB-Server verfügt über Folgendes:

  • MySQL 5.5.9
  • 192 GB RAM
  • 162 GB InnoDB-Pufferpool
  • Dual Hexacore (das ist richtig, 12 CPUs)
  • 1,8 TB Festplattenvolumen
  • 978 mandantenfähige Datenbanken
  • 892 GB InnoDB-Daten
  • innodb_file_per_table aktiviert

Sie haben dieses Setup für ein ganzes Jahr gehabt. Ich habe my.cnf persönlich für Multicore-Engagement konfiguriert . Alle 12 CPUs werden verwendet. Der InnoDB-Pufferpool ist voll ausgelastet. Es gab keine Beschwerden des Clients über die DB-Leistung, seit dieses Layout für ihn eingerichtet wurde.

Das Optimieren von InnoDB ist sehr wichtig, da MySQL 5.5 eine schlechtere Leistung als MySQL 5.1 erzielt, wenn Sie dies nicht tun. In einigen Fällen kann es schlimmer sein als MySQL 4.1.

Was den Arbeitsspeicher betrifft, ist die Optimierung der Verbindungsnutzung, der Anzahl der Verbindungen und der InnoDB-Caches das Wichtigste

RolandoMySQLDBA
quelle
Wow Rolando, könnte keine bessere Antwort verlangen :)
Ran
Übrigens, eine Empfehlung für 5.1?
Ran
Verwenden Sie MySQL 5.5 anstelle von 5.1. Warum? MySQL 5.5 verfügt über die neuen Multicore-Verbesserungen in seiner nativen InnoDB. Für MySQL 5.1.38+ muss das InnoDB-Plugin über Multicore-Verbesserungen verfügen. Ein MySQL-Upgrade auf MySQL 5.5 ist vertrauenswürdiger und beruhigt Sie, als eine Plugin-Installation in MySQL 5.1 zu versuchen.
RolandoMySQLDBA
Da wir ein kleines Bootstrap-Startup sind, haben wir nicht die Finanzierung, um 5.5 zu kaufen, bis wir finanziert werden, muss die kostenlose Version :)
Ran
0

MySQL verwendet CPUs mit mehr als 4 Kernen nicht ordnungsgemäß. Sie sollten also maximal 4 Kerne und so viel RAM wie möglich verwenden, um so viel Verarbeitung wie möglich im Speicher ausführen zu können.

Stephen Senkomago Musoke
quelle
Dies traf möglicherweise auf MySQL bis 5.1 zu. 5.5 und höher ist viel besser.
Morgan Tocker