CatBench v0.3 : Application de recherche vectorielle Postgres désormais avec surveillance des performances

2025-05-30

CatBench, une application de démonstration utilisant Postgres et PgVector avec 25 000 photos d'animaux de compagnie, propose désormais des graphiques de débit et de latence des requêtes à l'échelle de l'instance. Auparavant, les utilisateurs pouvaient explorer un moteur de recommandation, afficher des photos de chats et des recommandations de produits basées sur des achats de chats similaires, et consulter les métriques d'exécution des requêtes SQL du back-end. La version v0.3 ajoute une section de surveillance affichant l'activité de l'instance Postgres et la latence SQL. Les projets futurs incluent le nettoyage du code, l'extension du jeu de données photo à 9 millions d'images, l'ajout d'un suivi de la qualité de rappel pour la détection de fraude et la prise en charge d'autres bases de données.

Lire plus

pg_test_fsync : Évaluation des performances d’écriture sur disque pour les bases de données

2025-05-28

Cet article présente l’outil `pg_test_fsync`, utilisé pour évaluer rapidement les performances d’écriture sur disque ou stockage cloud, particulièrement utile pour les journaux WAL des bases de données et autres charges de travail d’écriture à faible latence. L’auteur teste un SSD Samsung 990 Pro grand public et un SSD Micron 7400 d’entreprise, montrant des vitesses d’écriture synchrone significativement plus rapides sur le SSD d’entreprise grâce à son cache DRAM de contrôleur et à sa protection contre les pertes de courant. `fdatasync` s’avère plus rapide que `fsync` ou `O_SYNC`, mais même `fdatasync` prend 1,6 milliseconde pour une seule écriture de 8 Ko. L’article note que plusieurs petites écritures dégradent les performances, suggérant l’écriture par lots pour une meilleure efficacité.

Lire plus
Développement

lsds : Une solution unique pour les paramètres des périphériques de bloc Linux

2025-05-09

La gestion des disques et des E/S sous Linux nécessite souvent l’exécution de plusieurs commandes telles que lsblk, lsscsi et nvme list, puis la corrélation manuelle de leurs sorties. Pour simplifier cela, un programme Python appelé `lsds` a été créé. Il lit directement les informations des répertoires `/sys/class/blocks/...`, consolidant les détails importants du disque en une seule sortie facile à lire. Cela inclut le nom du périphérique, la taille, le type, le planificateur, l’indicateur de rotation, le modèle, la profondeur de la file d’attente, le nombre de requêtes et les paramètres de cache d’écriture. `lsds` est hautement personnalisable, permettant aux utilisateurs de spécifier les colonnes à afficher et fournissant un mode détaillé pour suivre les sources d’informations. Cet outil simplifie considérablement la complexité de la gestion des disques Linux.

Lire plus

11 millions d'IOPS et 66 GiB/s d'E/S sur une seule station de travail ThreadRipper

2025-05-06

Cet article détaille la configuration d'une station de travail AMD ThreadRipper Pro avec 10 SSD PCIe 4.0 pour atteindre 11 millions d'IOPS pour les lectures aléatoires de 4 kB et un débit de 66 GiB/s pour les E/S plus volumineuses. L'auteur s'attaque aux goulots d'étranglement tels que l'accès à la RAM et les limitations du processeur, en approfondissant les mécanismes internes de l'E/S de bloc Linux et son interaction avec le matériel moderne. Le processus inclut la sélection du matériel, la configuration des E/S (E/S directe et planificateurs d'E/S), les tests multi-disques et les paramètres du BIOS, aboutissant finalement à des performances remarquables.

Lire plus
Matériel

Piège eBPF : Le FRED dans le noyau Linux 6.9+

2025-03-01

Le noyau Linux 6.9+ introduit CONFIG_X86_FRED sur x86_64, ajoutant 16 octets de remplissage au bas de la pile du noyau d’une tâche. Cela casse les programmes eBPF qui accèdent directement à la pile du noyau et à pt_regs, renvoyant des données incorrectes. L’auteur a rencontré ce problème avec son outil eBPF xcapture-next après la mise à niveau vers le noyau 6.11. L’analyse a révélé le décalage de la pile de FRED comme étant le coupable. Un mécanisme de détection dynamique de FRED est présenté pour ajuster les calculs de l’adresse de la pile, résolvant ainsi le problème. Cet article est crucial pour les développeurs eBPF, en particulier ceux qui travaillent avec la manipulation brute de la pile du noyau.

Lire plus
Développement

TracepointArgs : Débloquez les tracepoints du noyau Linux

2025-02-04

Fatigué de chercher dans le code source du noyau Linux les métadonnées des tracepoints et les dispositions des structures ? Découvrez tracepointargs, un nouvel outil en ligne de commande qui répertorie tous les tracepoints disponibles du noyau Linux, leurs arguments, leurs types de données et les structures associées. Il analyse même les dispositions des structures du noyau, vous permettant de comprendre les détails des tracepoints sans avoir à fouiller dans les fichiers sources. Combiné à bpftool pour générer un fichier vmlinux.h, vous pouvez facilement inspecter l'intérieur des structures, même en développant récursivement celles qui sont imbriquées. Un outil indispensable pour les développeurs eBPF et les explorateurs du noyau !

Lire plus
Développement