Weekly Links 20080523
From camera to website: Building an open source video streamer
Virtualizing without Virtualizing - Hier gehts um die schroot
Oracle: Choosing An Optimal Stats Gathering Strategy - Wie man mit dem Oracle Optimizer richtig umgeht, beschreibt dieser Artikel
Richard Footes Oracle Blog - Viele interessante Artikel und Statements für Oracle Admins
Creating charts on Web pages with Java and GChart - Charts und Graphen mit Java und GChart erzeugen
Introduction to Media Computation: A Multimedia Cookbook in Python - Das Buch hier liegt als PDF vor, ist aber schon von 2004.
RT: Request Tracker - Ein OpenSource Ticket System auch für größere Unternehmen, das schon länger am Markt ist.
LimitRequestBody: Apache Limiting User Upload File Size - Wie man die Uploadgröße einer Datei beschränken kann.
PostgreSQL: Converting tsearch2 to Postgres 8.3
Posted at 01:00vorm. Mai 24, 2008 by cetixx in Links | Kommentare [0]
configure - Invalid configuration
Wenn ihr beim Kompilieren bzw. beim Ausführen von configure folgende Meldung seht
checking build system type... Invalid configuration
x86_64-unknown-linux-gnu: machine x86_64-unknown not recognized
configure: error: /bin/sh ./config.sub x86_64-unknown-linux-gnu failed
dann tauscht mal die Dateien configure.guess und configure.sub aus. Diese holt man
sich z.B. von Sourcecode eines neueren Apaches. Meistens ist die Software, die man
da kompilieren möchte schon etwas älter, wenn die Meldung kommt.
Posted at 10:01vorm. Mai 20, 2008 by cetixx in Tipps | Kommentare [0]
PostgreSQL: Dead rows oder Nonremovable rows
Eines der leider designtechnisch weniger schönen Dinge bei der Postgres, sind die dead rows die zunächst übrig bleiben, wenn man SQL Update-Statements auf eine Tabelle los lässt. Bei so einem Update biegt die Postgres mehr oder weniger nur einen Pointer um auf die neuen Daten und lässt die alten erstmal stehen. Normalerweise kümmert sich der Autovacuum um diese Zeilen und räumt sie von Zeit zu Zeit auf. Allerdings funktioniert das nicht, wenn man eine Transaktion am Laufen hat, die über Stunden oder gar Tage hinweg läuft und diese Tabelle darin beteiligt ist. Wenn man einen vacuum verbose oder vacuum full verbose auf diese Tabelle los lässt, dann sieht das z.B. so aus:
INFO: "events": found 629702 removable, 2764070 nonremovable row
versions in 440726 pages
DETAIL: 2734213 dead row versions cannot be removed yet.
Nonremovable row versions range from 237 to 1160 bytes long.
There were 1797800 unused item pointers.
Total free space (including removable row versions) is
1808978584 bytes.
175919 pages are or will become empty, including 0 at the end
of the table.
316400 pages containing 1792334416 free bytes are potential
move destinations.
CPU 97.17s/19.74u sec elapsed 269.83 sec.
Gar nicht gut. Wir schleppen da ein Haufen Müll mit uns rum und die Queries werden immer langsamer. Es gilt also diese Transkation zu finden. Eventl. kann man in der Prozessliste auf dem DB Rechner schon mal Prozesse mit idle in transaction ausmachen, die schon ewig laufen. Das sind potenzielle Kandidaten. Genauer sieht man es aber mit folgender Query:
SELECT * FROM pg_prepared_xacts;
Man sollte sich am Besten ein Skript schreiben, das diese Tabelle/View regelmäßig überwacht und meldet, wenn eine Query zu lange da drin hängt. Auch wenn man einen vacuum verbose einmal täglich über alle Tabellen laufen lässt (soweit das die DB-Größe und die Performance des Rechners hergeben), kann man den Output dieses Befehls parsen und darauf entsprechend reagieren.
Posted at 01:44vorm. Mai 14, 2008 by cetixx in Tipps | Kommentare [0]
Weekly Links 20080509
Korn -- an extended shell - Ein netter Überblick was die Korn Shell an Vorteilen gegenüber der Bash bietet.
freiesMagazin 05/2008 - Eine neue Ausgabe von freiesMagazin. U.a. mit LinCity-NG Review (SimCity Clone), Sidux, div. News usw. Einfach mal reinschauen.
PostgreSQL 8.3: ERROR: operator does not exist: integer = text - Mit Postgres 8.3 wurden ja mehr oder weniger alle impliziten Casts entfernt, so das manche Queries nach dem Umstieg von 8.2 eventl. nicht mehr so ohne Weiteres funktionieren. Dieser Artikel hilft weiter.
Benetl: ETL to easily manage csv/txt/xls file - Wer mit PostgreSQL und CSV, TXT oder XLS Dateien hantiert, sollte man Benetl anguggen.
Pure JavaScript HTML Parser - Was man mit JavaScript alles so machen kann ;-)
Renoise - Wer die alten Music-Tracker wie Noisetrekker oder Fasttracker vom Amiga noch kennt, wird Renoise mögen. Renoise läuft u.a. unter Linux und Windows und ließt auch alte Formate wie .mod, .xm oder .it ein.
Automatically watching Web sites for changes - Dieser Artikel stellt Tools vor, mit der sich Änderungen von Webseiten automatisch überwachen lassen.
Choosing a font manager - Ein Fontmanager unter Linux ist manchmal schon praktisch ;-)
Top Ways How NOT To Scale Your Data Warehouse - Dieser Artikel räumt mit ein paar Mythen bzgl. Oracle und Data Warehouse auf. Nicht jede langsame Query lässt sich durch einen Index fixen ;-)
SeeqPod - Diese Suchmaschine findet Musik :-) Schaut selber rein...
SkyTools for PostgreSQL - Skype verwendet als Datenbank PostgreSQL. Hier haben sie einige OpenSource Tools veröffentlicht u.a. ein Python-Skript zur Datenbankreplizierung.
Sweep - Ein Audio Editor ähnlich Audacity.
Posted at 01:00vorm. Mai 10, 2008 by cetixx in Links | Kommentare [0]