CatBench v0.3: Postgres Vektorsuch-App jetzt mit Leistungsüberwachung

2025-05-30

CatBench, eine Demo-Anwendung, die Postgres und PgVector mit 25.000 Haustierfotos verwendet, bietet jetzt instanzweite Durchsatz- und Abfrage-Latenzdiagramme. Bisher konnten Benutzer eine Empfehlung-Engine erkunden, Katzenfotos und Produktempfehlungen basierend auf ähnlichen Katzenkäufen anzeigen und die Ausführungsmetriken von Backend-SQL-Abfragen sehen. Version v0.3 fügt einen Überwachungsbereich hinzu, der die gesamte Postgres-Instanzaktivität und die SQL-Latenz anzeigt. Zukünftige Pläne umfassen Codebereinigung, Erweiterung des Foto-Datensatzes auf 9 Millionen Bilder, Hinzufügen einer Recall-Qualitätsüberwachung für die Betrugserkennung und Unterstützung anderer Datenbanken.

Mehr lesen
Entwicklung

pg_test_fsync: Benchmarking der Festplatten-Schreibleistung für Datenbanken

2025-05-28

Dieser Artikel stellt das Tool `pg_test_fsync` vor, mit dem die Schreibleistung von Festplatten oder Cloud-Speicher schnell gemessen werden kann. Besonders nützlich ist es für Datenbank-WAL-Logs und andere Workloads mit niedriger Latenz. Der Autor testet eine Samsung 990 Pro SSD der Consumer-Klasse und eine Micron 7400 SSD der Enterprise-Klasse. Das Ergebnis zeigt deutlich schnellere synchrone Schreibgeschwindigkeiten bei der Enterprise-SSD aufgrund des Controller-DRAM-Cache und des Stromverlustschutzes. `fdatasync` erweist sich als schneller als `fsync` oder `O_SYNC`, aber selbst `fdatasync` benötigt 1,6 Millisekunden für einen einzelnen 8-KB-Schreibvorgang. Der Artikel merkt an, dass mehrere kleine Schreibvorgänge die Leistung verschlechtern, daher empfiehlt er das Bündeln von Schreibvorgängen für mehr Effizienz.

Mehr lesen
Entwicklung

lsds: Ein One-Stop-Shop für Linux-Blockgeräte-Einstellungen

2025-05-09

Die Verwaltung von Festplatten und E/A unter Linux erfordert oft das Ausführen mehrerer Befehle wie lsblk, lsscsi und nvme list und das anschließende manuelle Korrelieren ihrer Ausgabe. Um dies zu vereinfachen, wurde ein Python-Programm namens `lsds` erstellt. Es liest die relevanten Informationen direkt aus den `/sys/class/blocks/...`-Verzeichnissen und konsolidiert wichtige Festplattendetails in einer einzigen, leicht lesbaren Ausgabe. Dies beinhaltet den Gerätenamen, die Größe, den Typ, den Scheduler, das Rotationsflag, das Modell, die Warteschlangenlänge, die Anzahl der Anfragen und die Einstellungen des Schreibcaches. `lsds` ist sehr anpassbar und ermöglicht es Benutzern, anzugeben, welche Spalten angezeigt werden sollen, und bietet einen ausführlichen Modus zum Nachverfolgen von Informationsquellen. Dieses Tool vereinfacht die Komplexität der Verwaltung von Linux-Festplatten erheblich.

Mehr lesen

11 Millionen IOPS & 66 GiB/s IO auf einer einzelnen ThreadRipper-Workstation

2025-05-06

Dieser Artikel beschreibt die Konfiguration einer AMD ThreadRipper Pro Workstation mit 10 PCIe 4.0 SSDs, um 11 Millionen IOPS für 4 kB Zufallslesungen und einen Durchsatz von 66 GiB/s für größere IOs zu erreichen. Der Autor geht Engpässen wie RAM-Zugriff und CPU-Beschränkungen an und untersucht die internen Mechanismen von Linux-Block-E/A und deren Interaktion mit moderner Hardware. Der Prozess umfasst die Hardwareauswahl, die E/A-Konfiguration (direkte E/A und E/A-Scheduler), Mehrfach-Disk-Tests und BIOS-Einstellungen, die letztendlich zu einer bemerkenswerten Leistung führen.

Mehr lesen
Hardware

eBPF-Problem: Der FRED im Linux-Kernel 6.9+

2025-03-01

Der Linux-Kernel 6.9+ führt CONFIG_X86_FRED auf x86_64 ein und fügt 16 Bytes Padding am Ende des Kernel-Stacks einer Aufgabe hinzu. Dies führt dazu, dass eBPF-Programme, die direkt auf den Kernel-Stack und pt_regs zugreifen, fehlerhafte Daten zurückgeben. Der Autor stieß auf dieses Problem mit seinem eBPF-Tool xcapture-next nach dem Upgrade auf Kernel 6.11. Die Analyse ergab, dass der Stack-Offset von FRED der Übeltäter ist. Ein dynamischer FRED-Erkennungsmechanismus wird vorgestellt, um die Stack-Adressberechnungen anzupassen und das Problem zu lösen. Dieser Artikel ist entscheidend für eBPF-Entwickler, insbesondere diejenigen, die mit der direkten Manipulation des Kernel-Stacks arbeiten.

Mehr lesen
Entwicklung

TracepointArgs: Linux-Kernel-Tracepoints entschlüsselt

2025-02-04

Müde, im Linux-Kernel-Quellcode nach Tracepoint-Metadaten und Strukturlayouts zu suchen? Dann stellen wir Ihnen tracepointargs vor, ein neues Kommandozeilen-Tool, das alle verfügbaren Linux-Kernel-Tracepoints, deren Argumente, Datentypen und zugehörigen Strukturen auflistet. Es analysiert sogar Kernel-Strukturlayouts, sodass Sie die Details von Tracepoints verstehen können, ohne im Quellcode suchen zu müssen. In Kombination mit bpftool zur Erzeugung einer vmlinux.h-Datei können Sie die Innereien von Strukturen einfach inspizieren, sogar rekursiv verschachtelte Strukturen erweitern. Ein unverzichtbares Tool für eBPF-Entwickler und Kernel-Explorer!

Mehr lesen
Entwicklung Tracepoint