(btw I think that lowering the vm.swapiness is the first thing to do, no matter if it's a server or a desktop PC)
Swap memory means nothing but problems - low speed of swap memory is the least problematic factor - real problems are starting in case of time-critical or real-time applications.
Swap memory has just one purpose: to protect the system from triggering the OOM Killer.
Swap partitions: don't create swap partitions, unless You have a server with a dedicated raid-based swap storage system: better use sparse files as a swap.
Sparse swap files are flexible: i.e. You can adjust their size without re-partitioning of the drive.
Side effect is, that when You have a single Raid array for a /root directory, You can put a swap file on it, assuring that the swap space also has a redundancy, without creating a dedicated Raid for swap memory. Having a Raid system for /root without having redundant swap storage makes no sense - swap storage failure means unavoidable crash of the OS.
Swap capacity:
Yes, there's no formula for that, but assuming that swap memory is used only in emergency situations, its size should be chosen to match maximum amount of memory expected to be used by all the applications that are supposed to run simultaneously, decreased by the RAM size.
In typical cases (desktop), a swap space of 2..4GB should be more than enough - in case of servers, better buy 64...256 Gigs of ECC RAM
