Comment rendre PostgreSQL ridiculement lent ?

2025-07-28
Comment rendre PostgreSQL ridiculement lent ?

Cet article met au défi le lecteur de rendre PostgreSQL aussi lent que possible en modifiant les paramètres du fichier `postgresql.conf`, sans recourir à la limitation du processeur ou à la suppression des index. Grâce à une série d'ajustements soigneusement choisis, notamment la réduction drastique de la taille du cache tampon (`shared_buffers`), le déclenchement agressif de l'autovacuum et de l'analyse (`autovacuum_*` parameters), et la configuration du WAL (`wal_*` parameters) pour une fréquence d'écriture maximale et une contention E/S, l'auteur parvient à réduire le TPS de PostgreSQL de plus de 7000 fois, passant de 7000+ à moins d'un chiffre, voire en dessous de 0,1 TPS. L'auteur détaille la justification et l'impact de chaque modification de paramètre et fournit une configuration reproductible. Il s'agit d'une expérience fascinante qui montre l'impact profond du réglage des paramètres de la base de données.

Lire plus
Développement Réglage des paramètres

Benchmarking JavaScript : un désordre de compilateurs JIT, de différences de moteurs et d’imprécisions temporelles

2024-12-24
Benchmarking JavaScript : un désordre de compilateurs JIT, de différences de moteurs et d’imprécisions temporelles

Le benchmarking des performances de JavaScript est notoirement difficile. Cet article souligne les défis : les optimisations dynamiques du compilateur JIT conduisent à des résultats très variables d’une exécution à l’autre ; les différents moteurs JavaScript (comme V8 et JavaScriptCore) présentent des disparités de performances significatives, le même code ayant un comportement radicalement différent ; et les navigateurs réduisent intentionnellement la précision temporelle pour atténuer les attaques par temporisation, rendant les mesures précises difficiles. L’auteur suggère d’utiliser des outils comme d8 côté serveur pour un meilleur contrôle des niveaux d’optimisation et de la gestion des déchets, tandis que les tests côté client dépendent fortement des informations limitées fournies par les outils de développement. En résumé, le benchmarking JavaScript nécessite une prise en compte minutieuse de la compilation JIT, des variations de moteur et de la précision temporelle, ce qui le rend beaucoup plus complexe que dans d’autres langages.

Lire plus