Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Literaturempfehlung zu MySQL-Performanceoptimierung

Frage Entwicklung Datenbanken

Mitglied: Codehunter

Codehunter (Level 2) - Jetzt verbinden

10.12.2009 um 08:41 Uhr, 3283 Aufrufe, 3 Kommentare

Hallo alle zusammen,

Ich suche Literatur (Bücher, Tutorials etc.) zur serverseitigen Optimierung der MySQL-Performance. Also Auswirkungen der verschiedenen Cache-Parameter bei bestimmten Zugriffsszenarien sowie Ermittlung des konkreten Optimierungsbedarfs.

Das meiste das ich bisher gefunden habe befasst sich mit der scriptseitigen Optimierung, was mir aber erstmal nichts nützt da einige der hier eingesetzten SQL-Clients nur als Binary vorliegen und eh nicht geändert werden können. Diese schicken den MySQL-Server regelmäßig ins Nirvana bei größeren Abfrage-Aktionen. Da diese Abstürze aber nicht jedesmal auftreten sondern eine bestimmte Korrelation zur allgemeinen Lastsituation aufweisen, müsste vermutlich ich die Serverparameter ändern. Ins Blaue hinein per Try&Error-Methode will ich da nicht dran rumschrauben.

Grüße
Cody
Mitglied: maretz
10.12.2009 um 10:08 Uhr
Naja - das Problem ist ja erstmal das Leck zu finden. Denn es gibt leider bei einem SQL-Server nicht "DIE Optimierung". Nen großer Cache ist gut wenn du viele lesende Abfragen hast - wenn dein System aber viele Dinge in die DB schreibt muss immer auch nen Cache-Flush erfolgen was wieder zeit kostet. Gleichzeitig kommt es auf dein OS an -> wenn du z.B. nen Linux hast dann kannst du den Cache aufreissen bis zum Ende - verlierst dafür aber RAM den dein System sonst als Filecache vorhält um die Tabellen nicht jedesmal von der HDD lesen zu müssen.

Was du aber gut machen kannst: Dir z.B. mittels MySQL-Administrator die Randwerte erstmal ansehen: Wieviele Abfragen hast du überhaupt, wieviele Tabellen werden geöffnet usw. (Gern gemachter Fehler bei den Anwendungsprogrammieren: Man öffnet und schließt jedes mal die Verbindung zur DB inkl. kompletten login/logout. DAS kostet natürlich sehr viel Zeit... Oder man öffnet halt für jedes Objekt (in der OO-Programmierung) eine neue Verbindung - wodurch du dann schnell mal einige 100 Connections offen hast obwohl nur 1-2 Leute arbeiten...). Deshalb wird man immer zuerst die Anwendungen ansehen - und DANACH erst den DB-Server selbst anfassen...
Bitte warten ..
Mitglied: 6890
10.12.2009 um 10:22 Uhr
Tach,

also das imho beste Buch zur Performance-Optimierung von MySQL ist das "MySQL Performance" Buch --> http://bit.ly/6SPouj
Hab das hier neben mir liegen und bis jetzt wurde ich noch nicht enttäuscht. Ist von den Percona (http://www.percona.com/) Leuten geschrieben (wohl die Pro's am Markt was Optimierung und Plannung von MySQL angeht).

Ich würde dir allerdings auch erst einmal einen Check des Server's empfehlen. Wie schicken zb die Apps den Server in's Nirvana, steht davon was in den Log's?

MfG
Bitte warten ..
Mitglied: Codehunter
10.12.2009 um 14:15 Uhr
Hallo!

maretz war schon verdammt nah dran am Problem. Die Anwendung arbeitet mit zwei verschiedenen Datenbanken gleichzeitig, die aber von ein und der selben MySQL-Server-Instanz gehostet werden. Vermutlich wird zwischen beiden Datenbanken mehrmals neu connected. In 99% aller Fälle arbeitet die Anwendung nur mit einzelnen Datensätzen, meistens lesend. Das ist auch gar kein Problem. Es gibt eine Aktion, bei der über den gesamten Datenbestand einer Tabelle iteriert wird und dann pro Datensatz auch noch eine Verbindung zur zweiten Datenbank genutzt wird. Ob da jedesmal eine neue Connection aufgemacht wird oder eine persistente Verbindung neu aufgegriffen wird, kann ich so erstmal nicht sagen.

Langfristig werde ich die beiden Datenbanken zu einer einzigen vereinigen und die Zugriffe versuchen per View bzw. Procedure umzubiegen. Die MySQL-Optimierung soll nur bis dahin überbrücken.

In ferner Zukunft wird dann auch mal hoffentlich die Anwendung angepasst um das Problem grundsätzlich aus der Welt zu schaffen.

Grüße
Cody
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MySQL Liste simulieren (2)

Frage von Yanmai zum Thema Datenbanken ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...

Datenbanken
gelöst MySQL Abfrage für demographische Zwecke (3)

Frage von morphil zum Thema Datenbanken ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...