15K doesn't seem particularly noteworthy.
I made a prototype message queue in Rust that processed about 7 million messages/second. That was running from RAM.
I also had a prototype that ran from disk and it very rapidly maxed out the random write performance of the SSD. Can't remember the number but it was in the order of 15K to 30K messages a second, bottlenecked by the SSD.
If the sqlite test is writing to disk it is likely also bottlenecked at the disk.