Tests de simulation déterministe en Rust : une approche par machine à états

2025-08-05
Tests de simulation déterministe en Rust : une approche par machine à états

L'équipe Polar Signals partage son expérience dans la construction d'une nouvelle base de données Rust avec une architecture de machine à états qui place les tests de simulation déterministe (DST) au premier plan. Contrairement à leur précédente base de données Go, FrostDB, la nouvelle base de données évite de contrôler le planificateur existant et utilise plutôt un modèle de machine à états où tous les composants principaux sont écrits comme des machines à états monothreadées communiquant via un bus de messages. Cette approche offre un contrôle complet sur la concurrence, le temps, l'aléatoire et l'injection de pannes, simplifiant grandement la mise en œuvre des DST et permettant de découvrir deux bogues critiques. Bien que cette approche exige une surcharge cognitive supplémentaire, elle permet un raisonnement plus précis sur le comportement du système et un code plus fiable.

Lire plus

L'API sans serveur S2 réalise des gains de performance et des économies de coûts significatifs grâce au profilage continu

2025-02-14
L'API sans serveur S2 réalise des gains de performance et des économies de coûts significatifs grâce au profilage continu

S2, une API sans serveur pour le streaming de données, a considérablement amélioré ses performances et réduit ses coûts en utilisant Polar Signals Cloud pour le profilage continu. Face à des problèmes d'utilisation inefficace du CPU, limitant la capacité des utilisateurs et augmentant les coûts opérationnels, S2 a utilisé les capacités de profilage continu de Polar Signals Cloud, notamment ses fonctionnalités pprof.me et les piles d'appels inversées, pour identifier et résoudre plusieurs goulots d'étranglement de performance. Par exemple, une seule modification de code permettant l'accélération matérielle sur Graviton via la bibliothèque sha2 a réduit l'utilisation du CPU pour le calcul des sommes de contrôle SHA256 de 68,37 % à 31,82 %, doublant ainsi efficacement le débit. D'autres optimisations ont inclus des améliorations du calcul des sommes de contrôle CRC32C du SDK AWS S3 Rust et de l'allocation de mémoire. La tarification flexible de Polar Signals Cloud a également été cruciale pour les besoins uniques de S2.

Lire plus
Développement profilage continu