Archive for September, 2007

Linux: Befehl später ausführen mit at

Eben habe ich auf einer weniger wichtigen Maschine ein Kernelupdate gemacht. Da ich sie nicht gleich durchstarten wollte, sondern erst heute Nacht (und auch nicht periodisch mit cron) habe ich den atd verwendet, um den Job zu planen.

Die Verwendung ist denkbar einfach:

at 23:30
at>reboot
at> ### [Strg]+[d] drücken ###

Dass man Strg+d drücken muss, habe ich erst nach etwas Suchen heruasgefunden. Probiert mal eine Google-Suche nach “at” :-)

Mein Favourite ist übrigens:

at teatime

… führt Befehle um 16:00 Uhr aus.

Zwei Seiten, die den Befehl näher erklären:
http://www.linuxjournal.com/article/4087
http://www.linux.org/lessons/interm/c622.html

MySQL: Query Cache

Wenn die wichtigsten Tuningeinstellungen für MySQL gemacht sind, lohnt es sich, auch einen Blick auf den Query Cache zu werfen. Dieser speichert das Ergebnis von SQL-Abfragen und kann es somit bei Bedarf aus dem Arbeitsspeicher wiedergeben. Gerade für abfragen, die auf Webseiten live ausgeführt und deren Ergebnis aus irgendeinem Grund nicht auf dem Webserver gecacht wird, dürfte das interessant sein. Im Wesentlichen beschränkt sich die Konfiguration auf die folgenden Angaben:


query_cache_type=1
query_cache_size=6M
query_cache_limit=1M

Zuerst wird der cache aktiviert, dann wird die Größe bestimmt und schließlich der maximale Speicherplatz pro zwischengespeicherter Abfrage angegeben.

Um zu sehen, wie sich der query cache macht, kann man diese Abfrage benutzen:

SHOW STATUS LIKE 'Qcache%';

Im Ergebnis bekommt man dann einen Eindruck, wir gut der Cache genutzt wird, indem man das Verhältnis von Hits und inserts betrachtet:

+-------------------------+---------+
| Variable_name           | Value   |
+-------------------------+---------+
| Qcache_free_blocks      |      81 |
| Qcache_free_memory      | 4412528 |
| Qcache_hits             |    3809 |
| Qcache_inserts          |    1355 |
| Qcache_lowmem_prunes    |       0 |
| Qcache_not_cached       |     309 |
| Qcache_queries_in_cache |     650 |
| Qcache_total_blocks     |    1425 |
+-------------------------+---------+

Übrigens: Einzelne Einträge im query cache werden entfernt, wenn sich in der Datenbank an entsprechende Stelle etwas ändert. Man bekommt also immer frische Ware.

GridView: Zahlen formatieren

Ich musste heute in einer GridView Zahlen formatieren, und zwar mit Tausender-Trennzeichen. Eigentlich kein Problem, wie bei der guten alten DataGrid als format string {0:###,###} eintragen. Dummerweise hat das nichts gebracht. Die Lösung war denkbar einfach: Man muss für die betreffende Zelle das HTML encoding abschalten.