Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL Datenbank unter Windows optimieren

Mitglied: 63783

63783 (Level 1)

22.04.2008, aktualisiert 16.07.2008, 7009 Aufrufe, 2 Kommentare

Hallo!

Ich bin seit einiger Zeit schon im Internet auf der Suche nach Informationen zur Optimierung von MySQL-Servern auf Windows-Plattformen.
Ich finde allerdings immer nur Hinweise auf z.B. die Benchmark-Suite unter Linux oder eben den Beispiel-Konfigs wie huge usw.

Was ich bräuchte wäre eine Art HowTo oder Tutorial wo allgemein verständlich erklärt wird, was die einzelnen Konfigurationseinträge bewirken, damit ich die Konfiguration besser auf die jeweilige Datenbankstruktur unserer Kunden anpassen kann.

Szenario ist: Meine Firma vertreibt eine CRM-ERP-Lösung für kleine und mittlere Unternehmen. Im Hintergrund werkelt eine MySQL-Datenbank. Die Datenbanken unserer Kunden sind für MySQL-Verhältnisse eher klein (so im Schnitt 600MB-2GB verteilt auf etwa 140 Tabellen). Als Engine benutzen wir MyISAM. Allerdings ist die Grösse der einzelnen Tabellen von Kunde zu Kunde sehr unterschiedlich. Unsere Kunden haben zumeist kleinere Server mit 1, 2 oder 4gb RAM und Dual-Core Prozessoren.

Mit den einzelnen Beispiel-Konfigs erzielt man ja schon einigermassen passable Ergebnisse, aber ich hätte halt gern etwas mehr Kontrolle über die Einstellungen ohne gleich diverse Schulungen besuchen zu müssen.

Preisfrage: Kennt einer Links zu verständlichen Tutorials, HowTo's o.ä. oder wäre jemand so nett mir allgemein ein paar Tips geben?
Ideal wäre auch wenn es eine Möglichkeit gäbe Benchmarks der Datenbank unter Windows durchzuführen...

Danke für eure Mühe schon mal vorne weg :D
Mitglied: Nailara
15.07.2008 um 23:00 Uhr
Hi,

Links habe ich leider auch nicht - vielleicht helfen ein paar allgemeine Anmerkungen:

- Bei 2 GB Datenbank und 4 GB Ram im Server können fast alle Tabellen im RAM gehalten werden - gute Bedingungen und nicht "kleine Server". 32Bit-Windows hat den Nachteil, dass ein Prozess normal nur 2 GB Ram verwalten kann und max. 4 GB Ramnutzung insgesamt möglich sind - ausgenommen es wird PAE genutzt und das sehe ich bei MySQL nicht.
- Benutze für einen DB-Server mindestens 5 Platten und einen Raid-Controller, der Raid 0+1 kann. Die 0+1-Kombi bietet optimalen Datendurchsatz. Wenn der Controller auch noch mehrere Kanäle hat, dann sollten die Platten so angebunden werden, dass eine Platte des 0-Raids an einen Kanal und die andere Platte des 0-Raids an den anderen Kanal gebunden wird. Die 1-Raid-Konstruktion analog hierzu. Das gibt maximalen Datendurchsatz auf der Platte.
- Bei den Platten sind SAN-Türme i.d.R. noch performanter als interne SCSI-Raids - mit 2GBit/s FCAL ist ein Performancevorteil von 10-100 gegenüber SCSI möglich.
- Die Festplatten sollten zwar klein und zahlreich, aber schnell wie der Wind sein. 5 x 80 GB mit 15000 U/min sind besser als 2 x 250 GB mit 10000 U/Min. Es hat niemand behauptet, dass ein guter DB-Server billig ist .
- Wenn noch ein paar Euro über sind, wären noch mehr Platten hilfreich, damit Datenbankdateien und Indexdateien auf unterschiedlichen Raids liegen können. Denkbar wäre bei 5 Platten auch, zwei Mal eine Spiegelung zu fahren, ein Spiegel für die Datenbanken, ein Spiegel für die Indexdateien.
- Die Logdateien sollten auch noch separat auf eine Platte gelegt werden - beispielsweise auf die separate OS-Partition.
- Das Betriebssystem sollte separate Platten haben - auch wenn es denn dann noch ein paar Euronen mehr kostet .
- Transaktionssicherheit ist extrem wichtig, gerade bei CRM - deshalb sollten mal umfangreiche Tests wegen gleichzeitigem Zugriff gemacht werden und eine transaktionssichere Engine wie InnoDB genutzt werden.
- Zitat aus der Doku von MySQL: "InnoDB wurde für maximale Leistung bei der Verarbeitung großer Datenmengen ausgelegt. Es gibt wohl keine andere festplattengestützte Speicher-Engine für relationale Datenbanken, die so effizient mit der CPU umgeht." (http://dev.mysql.com/doc/refman/5.1/de/innodb-overview.html)
- Schaut euch die Indizierung der Tabellen genau an - je weniger gemische Indizes umso besser. Welche Indizies zu setzen sind, hängt deutlich von der Abfrage ab. Wichtige Ergebnisspalten sollten indiziert sein - hier helfen nur Analyse der Queries. Übrigens - es ist nicht Aufgabe des Admins, die Queries umzubauen oder Indizes zu setzen, das sollten schon die Entwickler tun. Hier wird die Performance "verballert", nicht durch einen zu klein dimensionierten Server.
- Schau die Speicherparameter der Indizes an und vergleiche die mit den tatsächlich auf der Platte liegenden Größen der Indexdateien. Nach Möglichkeit sollten die häufig genutzten Indizes im Ram liegen, also Nachschauen welche das sind und bei den my.cnf-Settings schauen, wie der Ram entsprechend angepaßt werden kann.
- Bei den anderen Parametern eine Aussage zu treffen ist schwer - das hängt von der Applikation ab. Wenn es allgemeingültige Superduperperformanceoptionen geben würde, dann würden die Entwickler von MySQL die in die my.cnf zur Verteilung mit einbauen und gut is. Machen sie aber nicht, weil es die nicht gibt - das ist immer von der Anwendung abhängig.
- Manchmal hilft es, auch einen einfachen zusätzlichen Index zu setzen und man bekommt - obwohl mehr Ram gebraucht wird - einen Performanceschub von Faktor 10-100. Das ist applikationsabhängig.

Joa - das würde mir gerade so einfallen.

Grüße Mathias
Bitte warten ..
Mitglied: 63783
16.07.2008 um 10:51 Uhr
Vielen Dank für die sehr ausführliche Antwort!
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Vergleich von 2 MySQL Datenbanken?
gelöst Frage von freshman2017Datenbanken6 Kommentare

Liebe Gemeinde, ich habe lokal 2 MySQL Datenbanken: 1. Datenbank ist eine aktuelle Shop-Datenbank, 2. Datenbank ist ein älterer ...

Datenbanken
Login Probleme in mysql Datenbank
gelöst Frage von bigbootykillaDatenbanken2 Kommentare

Hi, ich habe hier eine Datenbank auf einer Ubuntu Kiste. Wenn ich mich versuche mit Code: einzuloggen bekomme ich ...

Datenbanken
MySQL Datenbank kopieren
Frage von Thor01Datenbanken8 Kommentare

Hallo, wie kopiere ich eine MySQL Datenbank? Kann ich hier einfach die Dateien kopieren und kann diese auch einfach ...

Monitoring

Konvertierung der MySQL-Datenbank zu utf8

gelöst Frage von honeybeeMonitoring3 Kommentare

Hallo, Icinga2 Director meldet, dass die Datenbank auf utf8 konvertiert sein müsste: Aber die Datenbank ist schon auf utf8 ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 1 TagHumor (lol)4 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 1 TagExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 2 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 3 TagenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Netzwerke
Netzwerk-Architektur mit VLANs
Frage von niLuxxNetzwerke21 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Ich werde in Kürze das Netzwerk unserer (sehr) kleinen Firma ...

Webbrowser
Neuer Tab Firefox
gelöst Frage von BleifussWebbrowser12 Kommentare

Hallo, via Strg + T öffnet man ja einen neuen Tab. Gibt es die Möglichkeit, dass der Tab sich ...

Windows Server
WSUS nach Upgrade - kein Start mehr
gelöst Frage von Ghost108Windows Server9 Kommentare

Hallo zusammen, habe einen Windows Server 2012 welcher als WSUS dienst. Jetzt wurde ein Upgrade auf Server 2016 durchgeführt ...

Microsoft
Ist es möglich ein reines Volume C Datenbackup in eine Hyper-V VM zu konvertieren?
Frage von Frank84Microsoft8 Kommentare

Hallo zusammen, ich habe hier ein Backup vorliegen, das ausschließlich das komplette C:\ Volume eines physischen Server 2012 enthält. ...