The things this quite claims are crucial to high performance networking, that need to be done outside of the linux kernel, are already done in the DragonflyBSD kernel:
The key to better networking scalability, says Van,
is to get rid of locking and shared data as much as
possible, and to make sure that as much processing work
as possible is done on the CPU where the application is
running. It is, he says, simply the end-to-end
principle in action yet again. This principle, which
says that all of the intelligence in the network
belongs at the ends of the connections, doesn't stop at the kernel."
Dragonflybsd solves the locking and shared data problem by running a network stack per cpu core. If you've got 4 cores, you've got 4 kernel threads handling TCP. I don't understand the details of scheduling processes to the cpu handling its network connections, but Matt Dillon, the head of the project claims it's accounted for in the scheduler:
<dillon> we already do all of that
<dillon> its a fairly sophisticated scheduling algorithm.
How processes get grouped together and vs the network
protocol stacks depends on the cpu topology and the load on the machine
```
edit: If you want to try it out on a VPS, vultr is the best one I know that allows you to upload custom ISOs (https://www.vultr.com/coupons/). There was a bug fixed recently in the virtio drivers that should make it pretty stable running on a VPS. You'll have to wait for 4.5 (a few weeks from now) or just upgrade from master (very easy).
I don't see why it wouldn't be feasible for a site of any size. My only concern is running into issues with hammer. I was unable to mount my hammer partition after I filled up the drive. Not sure if it's a virtio bug or something that would affect actual disks as well, but that's something to be careful with.
The things this quite claims are crucial to high performance networking, that need to be done outside of the linux kernel, are already done in the DragonflyBSD kernel:
Dragonflybsd solves the locking and shared data problem by running a network stack per cpu core. If you've got 4 cores, you've got 4 kernel threads handling TCP. I don't understand the details of scheduling processes to the cpu handling its network connections, but Matt Dillon, the head of the project claims it's accounted for in the scheduler: ```edit: If you want to try it out on a VPS, vultr is the best one I know that allows you to upload custom ISOs (https://www.vultr.com/coupons/). There was a bug fixed recently in the virtio drivers that should make it pretty stable running on a VPS. You'll have to wait for 4.5 (a few weeks from now) or just upgrade from master (very easy).