Does NT Scale?
NT scaleability is one of the biggest questions
in the PC industry today. As PC business desktops and PC servers move into
spaces formerly reserved for large-scale mainframes and UNIX boxes, answering
whether or not NT can fill those extremely large shoes gains paramount
importance.
Not only does Microsoft need to know if its
brainchild fits the bill for enterprise deployment, but the customers need to
know. In this issue of Windows NT Magazine you will find the first
answers to the big question: Does NT scale?
Our initial data says: Yes, NT scales. What
does this data mean? It means that as you add resources to an NT client/server
system, such as CPUs, memory, faster network components, and more disk space,
system performance increases. It means that as you add users and application
load to your systems, the operating system doesn't choke.
Yes, your system configuration should match
your user load. Now, you might say, "You just said that I can only get
better performance if I throw a bigger-more expensive-machine at my users!"
But, isn't that the definition of scaleability? If you need better performance,
and need to support more users or heavier user loads, that you can build a
bigger system and the OS will handle it?
NT is on the road to big things. It isn't all
the way there yet-our tests show that it doesn't scale completely linearly, and
it is bounded (response times do increase with user load, and you can, to a
point, combat this by adding system resources)-but NT is moving up fast. So
climb on board for the first big ride of the 21st century as we look
at the operating system and the machines that will make it all happen.
ARTICLE
The burning question of the day is, "Does
NT scale?" This is one of the most difficult questions to answer, because
it calls a huge variety of issues into play, not the least of which is the
nature of client/server computing itself.
Windows NT Magazine is going to answer
these questions for you in a series of articles over the next six months (at
least), in which we will review client/server issues such as networking, disk
performance, system configuration, application configuration, user load,
end-to-end performance testing, and more. We will fold in reviews of servers
from companies such as Compaq, HP, IBM, NEC, Tricord, and many others to bring
you performance data about server hardware scaleability, upgradeability, overall
performance, and even clustering. Along the way we will discuss the tests we
use, the metrics we record, our goals, and our findings, and then relate this
information in a real-world fashion to what you can expect from the same boxes
in your environment. You can then use this information to aid in your buying
process, to tune your existing setups, or to make fundamental decisions about
migrating to NT from other operating systems and what applications to use in
your enterprise. The obvious answer is to buy a system that matches your needs,
but when you need to scale and grow, it is a far more complicated issue to know
what to buy.
Each of the above issues in client/server
computing contains a myriad of others, each of which can affect your server's
performance, network throughput, and user "happiness." Networking
involves the wire you use, the NICs installed in the client systems and the
servers, the protocols you run, the configuration you lay out (domains,
workgroups, multiple segments, connection hardware, etc.), and the I/O
capabilities of the system/NIC relationship. Disk performance covers how many
and what kind of drives you use, what your data set size is, what the disk
transaction mix is (reads vs. writes, random vs. sequential), what controllers
are installed and how many there are, disk caching, RAID configurations, and
system/disk subsystem relationships. The system configuration includes things
such as number of CPUs and amount of memory, PCI and system bus architectures,
amounts and types of CPU cache (Level 1, Level 2, and Level 3), types of
components used, and so forth-plus, you need to find a happy medium for your
situation, because what is optimal for one application is not necessarily
applicable to another, even on the same physical box. Application configuration
encompasses everything from SQL Server optimization to application serving to
what and how many applications can be run from the same system. User load may
seem obvious-how many users can be supported on a server-but it also involves
what the users are doing, how the client systems are configured, and what type
of network they are on. The last piece we'll look at-end-to-end performance
testing-is perhaps the most complicated of them all. It calls into question
everything I've listed here, and adds complexities such as, What is a real-world
test? What numbers do people care about? As well as reality checks on user
simulation, system/network configurations, transaction mixes, and much, much
more.
Client/server computing is the most
complicated environment ever to exist in the PC world. You can't look at just
one component in your enterprise architecture and assume that optimizing it will
improve everything. Not only do you have to remember that your system is only as
fast as its slowest component, but also that the highly complex nature of this
new paradigm called client/server computing means there are emergent properties
causing problems in places you may not even be aware of. In other words, it is
almost completely unpredictable-knowing the input to your system doesn't
necessarily mean that you'll know the output.