|
|
|
|
|
by drewg123
2625 days ago
|
|
The lack of a zero-copy sendfile for ZFS is one of several reasons that we (Netflix Open Connect) use UFS on our CDN nodes. It would be interesting to see how he solved this. From a brief look at the FreeBSD code several years ago, I seem to recall that ARC dealt in 8K chunks (maybe because it is the sparc page size??), but x86_64 uses a 4K page size, and mmap() and sendfile() expect to deal in pages. The other issue would be "taming" the ARC. We make heavy use of FreeBSD's SF_NOCACHE flag to sendfile(). This allows us to teach the VM system to keep hot content in the page cache, and drop less popular content. |
|
Has anyone considered replacing ARC? It actually has fairly poor hit rates compared to other policies, with very modest improvements over LRU. I also wonder how much ghost entries contribute to space overhead, which is actually trivial to remove (ARC is an adaptive SLRU - so replace ghosts with a sampling hill climber).