I hope someone would help me learn about those determining factors that influence an OS scalability , more precisely the BSDs.

This is a broad topic. Can you be more specific? Are you most interested in network throughput, database sizes, filesystem sizes, realtime uses, or something else altogether? Specificity will help frame discussion.

The feature set of the NIC's hardware, & the matching software driver both determine basic throughput. Not all hardware is alike, & not all driver implementations exploit the underlying chips to their fullest potential. If you are looking for the "best" performance, study the archives of the project mailing lists to find the developer's opinions.

Secondly, other optimizations to the network stack fall under the purview of the operating system itself. Issues such as how network packets are traced through kernel code influence performance.

No OS war is meant here , but some would argue that NetBSD lately becomes much more scalable than OpenBSD , despite their similarity in design and implementation if I am correct.
If I am to judge which is most scalable among BSD derivatives , how should I proceed to achieve an objective conclusion ?
I'm looking forward to more enlightenment.
So thankful to you.

By testing each BSD, on your intended hardware, with your intended network load. The term used to describe this test is benchmark.

Benchmark testing is easy. Obtaining valid results is much more difficult. Be very cautious with results obtained from any synthetic network load induced with software tools. Deploying your BSD systems on your production network would be better.

A synthetic network load must model your real load closely. Not just number of packets over time and their size, but packet direction and routing headers must also be considered. See http://www.daemonforums.org/showthread.php?t=7618 for an example of a benchmark using a synthetic network load which does NOT closely model any real network.

Last edited by jggimi; 23rd January 2013 at 05:49 PM.
Reason: clarity; typo

For the most part, much of the development of the *BSD family is done on desktop-quality hardware. Here, network throughput is mostly limited by the efficiency of the hardware/driver combination. In general, the quality of the network stacks are sufficient to handle the network loads placed upon them. Much of the differences seen at the enterprise level (large volumes of traffic...) are due to the fact that developers do not have access to such expensive equipment.

It should also be understood that tweaking/optimizing the network stack as implemented by the kernel is a much harder problem to solve. In comparison, writing driver code is more straight-forward. Not that either is simple, but the range of problems needing to be addressed by the kernel is far more broad.