Inkwell's first backend: somewhere to save and read notes. Almost every system starts with the same path. A client sends requests, an app server handles them, and a database remembers the data.
What it does
- Write: a user saves a note.
- Read: a user opens a note.
Workload
A steady 200 rps, 80% reads / 20% writes, for 10 seconds, against 1 000 notes that already exist. Every note is about equally popular.
How to build it
- Add an app server from the bar on the left of the canvas, then connect the client to it: drag from the client's right edge to the app server's left edge.
- Add a relational DB and connect the app server to it.
- Look at the label on the app server → database connection. R and W decide which requests travel over it: reads, writes, or both. Keep both on.
- Press Run.
Tiers
- Easy: it works. Almost every request succeeds. The Must pass checks also make sure writes really reach the database and reads are answered from it. An app server with nothing behind it can answer quickly, but it can't remember anything.
- Medium: snappy. 99% of requests finish in under 100 ms (the p99).
What to look at
- The Results panel below the canvas shows throughput, errors and latency. p50 is the median request; 99% of requests finish within the p99.
- Click any component and open Metrics to see how busy it was.