Goals

  • gather a baseline for performance
  • incrementally improve

Simulation

  • actions recorded to Datomic

Validation

  • querying against Datomic
  • you can apply validations to previous versions of your system

Documentation

  • very few exmples for using Simulant
  • a little bit like Clojure “hard to learn, but it pays you back”

Findings

  • found functionality that had never worked correctly
  • performance problems
  • faulty assumptions (auto-scaling based on CPU load and not IO load)
  • eroded false confidence

Summary

  • fantastic for checking the qualities of your system
  • consider simulation testing if your system is high risk [and there’s no good way to drive load to it]