As their default (and quite interesting) offering is SmartOS, I'd like to ask if someone has some recent experience with (Open)Solaris networking. I still remember the day when it (especially its x86 incarnation) was renowned for having syscalls that were slow as molasses – IIRC, actually a big boon for the then-fledgling Linux.
How does it fare at memory allocation, especially under load? How good is their select successor (i.e. their equivalent to epoll/kqueue)?
I would say that the syscalls issue was gone as of Solaris 9 and Solaris 10 was very fast. The VM subsystem in Solaris is superior, and memory allocation using zones is excellent. Basically a Solaris zone is similar to an OpenVZ container.
Under load and under memory pressure, Solaris is as good as or better than Linux.
Despite all this, I am in the process of moving remaining Solaris systems to OpenVZ-based containers due to factors other than technical excellence and more to do with familiarity (clients are just more familiar with Linux than Solaris, though 90% of the shell etc. is the same).
As I recently discovered, you cannot run a software firewall of any kind inside a solaris container. Everything else about SmartOS seems quite great to me, but my evaluation term was limited.
Actually that is not the case.
In SmartOS you have two options for networking. You can run a zone in "IP exclusive" mode which will give the zone full control over its networking stack. This means you can run a firewall or even change the IP addresses, etc from within the zone. SmartOS makes that apply to VMs as well. There are also anti-spoof mechanisms built into the OS to ensure that you dont get unfriendly neighbours.
How does it fare at memory allocation, especially under load? How good is their select successor (i.e. their equivalent to epoll/kqueue)?