Re:SQLite small blob storage: 35% Faster Than the Filesystem
by tetha on Wednesday June 14, 2017 @05:20PM
(#14556219)
Color me interested. How do I health-check this in a LB? What kind of caching headers do you give me out of the box?
Re:SQLite small blob storage: 35% Faster Than the Filesystem
by rkeene2 on Wednesday June 14, 2017 @05:25PM
(#14556242)
You can check its health by making a request to a known resource -- they're practically free.
It delivers an ETag header that it computes the first time it opens a file and maintains as long as that file is open. If it has to re-open the file it will generate a new ETag value.
It has many optimizations, like not opening the file its serving (which reduces the latency of walking/interacting with the VFS layer); almost no runtime allocations on the heap (minimal stack frames and sizes as well) which can be completely disabled at the expense of logging; high performance logging which does not interfere with processing requests; the normal stuff in a fast webserver (sendfile, keep-alive, minimal code paths between reading the user request and delivering the first byte).
[1] http://filed.rkeene.org/