Heute habe ich Das Böse gesehen. Und überlebt. Lest meinen
Tagebucheintrag während ich dem Trunke verfalle um das Vergessen
zu suchen:
Kris vs. Net SNMP, Runde 1 - Das
Perl-Match.
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
So eben gab Kaj Arnö in seinem Blog bekannt, daß MySQL im März 2007 eine neue Library unter der PHP License veröffentlichen wird.
Für MySQL’s PHP team (Ulf Wendel, Andrey Hristov und mich)
bedeutet dies nicht nur eine neue Herausforderung und die damit
verbundene Arbeit, sondern auch die Chance bestehendes zu
verbessern und zu optimieren. Durch das neue MySQL Modell, die
Differenzierung zwischen Community und Enterprise, erhalten wir
zusätzlich die Möglichkeit, für PHP essentielle Dinge (die leider
noch nicht alle ihren Weg in die MySQL Code base gefunden haben)
schneller zu implementieren, und dem Benutzer zur Verfügung zu
stellen, ohne auf Release-Cyclen Rücksicht nehmen zu
müssen.
Ob per IRC oder Mail, als Maintainer der mysql extensions erhielt
ich den letzten Stunden viele Fragen, teilweise begleitet von
Skepsis oder auch von Enthusiasmus.
…
[Mehr]
Slides zum Performance-Tuning Vortrag. Und
hier sind die Slides zum Performance-Tuning-Vortrag, den ich auf der
European MySQL Customer Conference in München gehalten
habe.
Die MySQL-Artikel in diesem Blog sind in der Kategorie MySQL zu finden. Der von mir im Vortrag
angesprochene Beitrag Leben mit Fehlern - der Schlüssel zum Scaleout
ist nun ebenfalls verlinkt.
In dieser Meldung verweist Heise auf die MySQL Anwenderkonferenz in München. Ich bin
laut Programm für den Performance Tuning Vortrag
vorgesehen und muß ggf. auch noch für einen Kollegen einspringen,
der gerade von der Grippe niedergestreckt wurde.
Ein anderes Thema wird wohl die Reorganisation des Servers in
Community und Enterprise Edition und das
Release von "Merlin" als MySQL Network Monitor- und Advisor sein.
Herzlichen Glückwunsch zur 1.0, …
Die MySQL-Server Optionen –log-slow-queries und –log-queries-using-no-indexes sollten jedem
MySQL-Anwender geläufig sein. Wenn nicht, schnell die Links
verfolgen und die Wissenslücke schließen.
Nicht bekannt waren mir die Flags
SERVER_QUERY_NO_INDEX_USED und
SERVER_QUERY_NO_GOOD_INDEX_USED. Ich bin das erste
Mal über die beiden Flags gestolpert als ich mich fragte wie ein
Test für die PHP-Funktion mysqli_report() auszusehen hat.
mysqli_report() ist eine überaus nützliche Funktion,
welche die ansonsten wenig redsame ext/mysqli-API dazu bringt
jedes noch so kleine Problem in Form einer PHP-Warning oder eines …
Die MySQL-Server Optionen –log-slow-queries und –log-queries-using-no-indexes sollten jedem
MySQL-Anwender geläufig sein. Wenn nicht, schnell die Links
verfolgen und die Wissenslücke schließen.
Nicht bekannt waren mir die Flags
SERVER_QUERY_NO_INDEX_USED und
SERVER_QUERY_NO_GOOD_INDEX_USED. Ich bin das erste
Mal über die beiden Flags gestolpert als ich mich fragte wie ein
Test für die PHP-Funktion mysqli_report() auszusehen hat.
mysqli_report() ist eine überaus nützliche Funktion,
welche die ansonsten wenig redsame ext/mysqli-API dazu bringt
jedes noch so kleine Problem in Form einer PHP-Warning oder eines …
Die MySQL-Server Optionen –log-slow-queries und –log-queries-using-no-indexes sollten jedem
MySQL-Anwender geläufig sein. Wenn nicht, schnell die Links
verfolgen und die Wissenslücke schließen.
Nicht bekannt waren mir die Flags
SERVER_QUERY_NO_INDEX_USED und
SERVER_QUERY_NO_GOOD_INDEX_USED. Ich bin das erste
Mal über die beiden Flags gestolpert als ich mich fragte wie ein
Test für die PHP-Funktion mysqli_report() auszusehen hat.
mysqli_report() ist eine überaus nützliche Funktion,
welche die ansonsten wenig redsame ext/mysqli-API dazu bringt
jedes noch so kleine Problem in Form einer PHP-Warning oder eines …
Oprofile ist ein Profiler. Und zwar einer, der
die Performance Measurement Instrumentation verwendet, die in
moderne CPUs eingebaut ist, wenn diese vorhanden ist. Der
Profiler braucht also keine speziell für Profiling compilierten
Binaries, sondern zieht sich statische Samples des
Programmzählers aus dem laufenden System und analysiert diese: Es
findet heraus, welcher Prozeß gerade aktiv ist, welche Bibliothek
in diesem Prozeß gerade verwendet wird und wenn Symboltabellen
vorhanden sind (Kein "strip" auf die Bibliothek oder das Programm
angewendet), dann weiß Oprofile sogar, welche Funktion oder
Methode gerade aktiv ist.
Das kann man auch auf ein laufendes MySQL anwenden. Dies hier zum
Beispiel ist ein mysqld, der mit einem Haufen MyISAM Tabellen
arbeitet und nicht zu busy ist. Man kann sehen, daß aus
irgendeinem Grund sehr viel Zeit …
Um die Migrierung bestehender Projekte von PHP’s mysql auf die neue mysqli Erweiterung zu vereinfachen, haben Ulf Wendel und Andrey Hristov ein Konvertierungswerkzeug zur Verfügung gestellt, welches den PHP Programmierer bei der Migrierung unterstützt.
Basierend auf PHP’s tokenizer wird der alte Quellcode analysiert, und mysqli code erzeugt. Wo dies nicht möglich ist, sei es durch Benutzung veralteter Funktionen (z.B. mysql_escape_string) oder komplex verschachteltem Code (welcher durch den Tokenizer nicht mehr korrekt aufgespalten kann) liefert der Converter Fehler und Lösungsvorschläge.
Links:
MySQL Forge Artikel: Converting to mysqli
Ein MSA-30 Array mit 14 Platten. Liebes Tagebuch!
Heute bin ich gegen eine HP 585 und zwei MSA 30 angetreten und
ich bin mir nicht ganz sicher, wer gewonnen hat. Aber laß mich
von vorne erzählen.
Wie Du weißt, liebes Tagebuch, berechnet sich die Anzahl der
Zugriffe, die man von einer einzelnen Platte pro Sekunde erwarten
kann, wie folgt: 1000ms/(Average Seek Time in ms + Rotational
Delay in ms + Transfer Time in ms). Die Average Seek Time kann
bei einer guten Platte schon mal 4 ms klein sein, bei schlechten
Platten auch mal 8ms groß.
Die Rotational Delay ist bei 18000 rpm bei 300 Umdrehungen pro
Sekunde, als 600 Halbdrehungen pro Sekunde oder 1/600 Sekunde =
1.6ms. Bei Laptop-Platten mit 6000 rpm ist sie dreimal größer,
also 5ms. Die Transfer Time kann man für den Rest der
Betrachtungen auch getrost vergessen. Somit haben wir eine Access
Time von insgesamt 5ms bis 12ms rauf. Das übersetzt sich zu …