Pruebas de simulación determinista en Rust: Un enfoque de máquina de estados

2025-08-05
Pruebas de simulación determinista en Rust: Un enfoque de máquina de estados

El equipo de Polar Signals comparte su experiencia en la construcción de una nueva base de datos Rust con una arquitectura de máquina de estados que prioriza las pruebas de simulación determinista (DST). A diferencia de su base de datos Go anterior, FrostDB, la nueva base de datos evita controlar el programador existente y, en su lugar, utiliza un modelo de máquina de estados donde todos los componentes principales se escriben como máquinas de estados de un solo hilo que se comunican a través de un bus de mensajes. Este enfoque proporciona un control completo sobre la concurrencia, el tiempo, la aleatoriedad y la inyección de fallos, simplificando enormemente la implementación de DST y descubriendo dos errores críticos. Si bien este enfoque exige una sobrecarga cognitiva adicional, resulta en un razonamiento más preciso sobre el comportamiento del sistema y un código más fiable.

Leer más

API sin servidor S2 logra ganancias significativas de rendimiento y ahorro de costos con perfilado continuo

2025-02-14
API sin servidor S2 logra ganancias significativas de rendimiento y ahorro de costos con perfilado continuo

S2, una API sin servidor para transmisión de datos, mejoró significativamente el rendimiento y redujo los costos utilizando Polar Signals Cloud para el perfilado continuo. Al enfrentar desafíos con el uso ineficiente de la CPU, lo que limitaba la capacidad del usuario y aumentaba los costos operativos, S2 utilizó las capacidades de perfilado continuo de Polar Signals Cloud, particularmente sus funciones pprof.me y pila de llamadas invertida, para identificar y resolver múltiples cuellos de botella de rendimiento. Por ejemplo, un único cambio de código que permite la aceleración de hardware en Graviton a través de la biblioteca sha2 redujo el uso de la CPU para el cálculo de la suma de comprobación SHA256 de 68,37% a 31,82%, duplicando efectivamente el rendimiento. Otras optimizaciones incluyeron mejoras en el cálculo de la suma de comprobación CRC32C del AWS S3 Rust SDK y la asignación de memoria. El precio flexible de Polar Signals Cloud también resultó crucial para las necesidades únicas de S2.

Leer más
Desarrollo perfilado continuo