Open topic: This topic is designed to provoke curiosity.

“Hello, this is the network adapter, I require your attention….”

An operating system is a complex environment, having to manage effectively the things which must be done “NOW!” with the things that can be done “Later….” In the world of Now and Later, all applications have to wait on the constant nagging interrupts of the network adapter, the video adapter, the disk adapter, etc… Just consider the level of CPU involvement to fill a given pipe size: To fill a one-gigabit pipe requires two-gigahertz of CPU involvement. Whatever is left over would go first to other hardware interrupts and then to the application. You can see how your app may be fighting for a small resource pool in a busy environment. In a multiple CPU environment, depending upon OS, you may even find that all of the hardware interrupt service is being pinned to CPU 0, so it is possible to exhaust a system’s capacity from a hardware service perspective even before the application falls over. Such a condition is rare, but it does happen.

Those who use their PCs for gaming or scientific computing inherently understand this problem. Take interrupt service and processing away from the core CPU for hardware items and we now have more core CPU for our applications. The same holds for RAM. Hence the proliferation of intelligent video adapters, intelligent disk adapters and intelligent network adapters, all working to improve the overall system capacity in the core finite resource areas of CPU, DISK, RAM and Network.

Consider how your application is deployed and the underlying hardware supporting the efforts for test and production, from a single machine LAMP|WAMP|WISV|… to multi-tier architectures and how such deployments impact performance. Also, consider what you are asking of your Load Generators and whether they are up to the task.