I remember in the early days of web services, using the apache portable runtime, specifically memory pools.
If you got a web request, you could allocate a memory pool for it, then you would do all your memory allocations from that pool. And when your web request ended - either cleanly or with a hundred different kinds of errors, you could just free the entire pool.
it was nice and made an impression on me.
I think the lowly malloc probably has lots of interesting ways of growing and changing.
This is called “an arena” more generally, and it is in wide use across many forms of servers, compilers, and others.
Look into talloc, used inside Samba (and other FLOSS projects like sssd). Exactly this.