BBC Digital Media Distribution: How we improved throughput by 4x
bbc.co.uk
bbc.co.uk
I'm several sets of information short of being able to say anything particularly precise about their results.
Their diagnosis is very detailed and useful, but I think the main thing we can learn from it is that the Linux kernels VM system is horrible when memory is overcommitted. At least to me that's not news.
I will also say that we in the Varnish project have not worked much on performance the last couple of years, because people have asked much more for features than performance.
Some of the stuff we have done have traded CPU cycles for flexibility, but if the Varnish users change their mind and decide performance needs a boost, we can do that too.
The reason we dropped sendfile(2) in Varnish was that nobody seemed to be able to show any credible performance improvement, and dropping it allowed us to implement on-the-fly processing of the HTTP bodies in a cleaner way.
We can certainly bring sendfile(2) back for "the straight" path if that's important to people.
The "file" storage was our first rather primitive storage engine and it has never been optimized to any extent. Varnish Software Inc. has a commercial offering that includes a "massive storage engine", but most people seem to just use the 'malloc' storage.
And no, Varnish is not dying just because BBC doesn't use it in the absolute far corner of high-end usage doesn't use it: If NGINX is the better tool for them, they should absolutely be running NGNIX.
Kudos on the huge improvement though, it's the results that matter not the means.
As you say, its about finding the right tool for the job.
I tried to find why varnish doesn't use sendfile: https://www.varnish-cache.org/lists/pipermail/varnish-dev/20...
By default [Varnish uses sendfile] never; there are problems with all sendfile() implementations0 - https://www.freebsd.org/cgi/man.cgi?query=sendfile&sektion=2
EDIT: nvm they did try other kernels but it only made minor changes in results.
Any form of parity RAID is always going to be a bottleneck, and should never be deployed into any production environments this side of 2010.
If your application can gracefully handle IO balancing (and potentially replication) between individual block devices, and handle them dying in all of the weird and wonderful ways that they do, then go with JBOD. If not, then your choices are a mirror (E.G RAID1), or striped mirrors (E.G RAID10).
> dying in all of the weird and wonderful ways that they do
It's only been a few months, but there have been plenty of great surprises thrown out by those disks. Both in the ways that they've failed and how the kernel has handled those failures!
So nobody at the BBC should be allowed to say anything publicly unless it's on that topic? That's idiotic. The guy writing this blog post probably has absolutely no control over archive content at all. Why should he be silenced?
Simlarly with live lounge sessions. We get a selection of what some pratt at the BBC thinks were the best of the year in a compilation CD. WHY NOT JUST SELL THEM ALL?
I have been bitching about this for years, how has it not been made a thing?
> "On occasion an act may not wish to be filmed or recorded. Artists may also agree to be recorded but only allow a limited number of songs to be aired. This could be for a number of reasons for instance: the quality of some parts of the performance, because they do not wish to broadcast new or unreleased material, or they do not want to broadcast their entire live set."
I do agree that it'd be a good idea to do, though.
Glasto is indeed another great example of audio tracks I'd gladly pay for - funnily enough though by the time the BBC takes it's coverage down some valiant internet person has stuck what I want up on torrents.