Mark Papadakis
Mark Papadakis
@navono Thank you for going through that. I 'll try to get access to some windows system and see how far I can go there.
Now using `readhaead()` on Linux. I still need to measure and quantify the cost/impact and gains though.
According to the [Linux Kernel implementation](http://lxr.free-electrons.com/source/mm/readahead.c), readahead() will simply walk all pages in the requested file range, look up the page in the mappings RBT and if not already there(not...
More measurements #### writev() It takes 0.081s to writev() 95MBs This means we can do, in theory, 1,172MBs / second (1/0.081 \* 95) if we were to write continuously in...
See also: https://github.com/scylladb/seastar/commit/a0b481f1a6896457483f89e9d635142856128425 > XFS serializes all I/O when it sees a size-changing operation, like an > append. This slows down ScyllaDB's writes, because files can only be > written...
As of 0925e893958f4ec870e5803c8ddbd94e58b2a8ec, Tank will be more fair to clients, by trying to reduce the time it would block in sendfile(), because either a consumer requested a very large payload(e.g...
Now using another heuristic; if total time spent in try_send() (specifically, we keep track of total time spent in sendfile() ), then we abort early. Also, we initially sendfile() 128k...
[Threads Pool in NGINX](https://www.nginx.com/blog/thread-pools-boost-performance-9x/): NGINX is now using thread pools, so that sendfile() won't block the I/O thread, because they too figured out that when it needs to block to...
[Serving 100 Gbps from an Open Connect Appliance](https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99) : A great write-up mostly specific to FreeBSD sendfile() impl. and kernel semantics, but likely relevant to what we do here as...
The new `preadv2` and `pwritev2` syscalls, first appeared in Linux Kernel 4.6 are extremely powerful, when `RWF_NOWAIT` flag is used -- that flag made it into even more recent Linux...