"Tommy" <> wrote in message
news:65904f8d-e7b7-4bd4-bffe-...
> What would be a good configuration to support more than 30000 (or even
> 60000) clients under the following limitations
> 1.) All Clients point to the same hostname (i.e., http://wsus)
> and
> 2.) There is no Active Directory
> and
> 3.) Don't have Windows CAL or SQL CAL for each windows client.
Well.. the same hostname is really a non issue. DNS (although it begs the
question of how you're going to implement DNS) can help with this.
The lack of Active Directory is a slightly more concerning issue... and I
really must ask how you're managing an environment of 30,000 systems in
=2009= without using Active Directory. More importantly, it's probably
useful to know =Why?= you're not using Active Directory, as those reasons
(and I'm sure they're valid) will affect how you design a WSUS deployment
for an organization that large. The primary limitation with not having
Active Directory is that you cannot use a back-end database server; you're
limited to running the database server on the WSUS server(s) -- but this may
not be a major issue, as we'll soon see.
Not having Windows CALs is a show-stopper. You *must* have a Windows CAL to
use WSUS. It's a licensing requirement.
Not having SQL CALs is not a show-stopper, but it also prevent the use of a
back-end SQL Server (of course, without Active Directory, this is really a
non-issue) -- which subsequently restricts the number of clients you can
support per WSUS server -- which is directly related to the hardware
resources available on the server.
> I read somewhere that a school was able to support 65000 clients with
> only a couple of 2 frontend to 1 backend servers using the NLB/SQL
> cluster deployment guide as documented by MS.
This is absolutely possible.
> If that's possible, is there a way to avoid the SQL clusters?
The SQL clusters are an optional configuration that faciliate managing that
number of clients from one WSUS "server" (actually a 2-node NLB front-end).
However, NLB requires a back-end SQL Server (which will require SQL CALs).
> I'm wondering what others are doing with large deployments of WSUS
> clients.
Writing checks for the appropriate licensing of the required server
software. :-)
Okay, let's talk about the Hardware Requirements for WSUS. From the WSUS v3
Deployment Guide (which was originally authored in 2005, and updated in 2007
to reflect the estimated/extrapolated/expected improvements in performance
by using a SQL2005-based engine (Windows Internal Database) instead of the
SQL2000-based WMSDE engine.
In 2007, the WSUS team estimated that a single-core, hyperthreaded 3GHz
64-bit CPU with 2GB RAM was capable of supporting up to 20,000 clients; and
a dual-socket, single-core, hyperthreaded 3GHz 64-bit CPU with 4GB RAM was
capable of supporting up to 10,000 clients. These configurations are not
apples-to-apples, though (as I've recently become aware), and another
footnoted factor is included in these calculations, based on the detection
interval of the assigned clients.
Of course, there was no empirical data to support any of this at the time
the Deployment Guide was written; it was, in some part (as previously
noted), extrapolated from the expected increase in performance by using the
Windows Internal Database in place of WMSDE.
Note also that unlike WSUS v2, the Deployment Guide makes no distinction
between what environments can use the native internal database engine and
what environments require an actual SQL Server installation. The WSUS
instance of the Windows Internal Database has no throttling (unlike SQL
Server 2005 Express Edition); however, the WID is only available in 32-bit
distributions. On a 64-bit server it runs in WoW -- which is *not* an
optimal deployment for a server designed to support 30,000 clients.
Another *possible* option is using SQL Server 2008 Expres Edition 64-bit,
which is a native 64-bit database engine -- but it has throttling
limitations you need to be aware of, which will also limit the number of
clients that can be supported in such a scenario. Also, SQL Server 2008 is
not a supported database engine at this time.
There's another factor to be considered here also, which I mentioned
earlier. The single-core 20,000 client solution was written with the
assumption that clients were detecting every eight hours. That's 20,000/8 =
2500 clients per hour. Rolling that detection interval back to the default
of 22 hours, means that the same configuration should be able to easily
support 2500 x 22 = 55,000 clients, and quite possibly to your suggested
objective of 60,000 -- maybe even by merely throwing some more RAM at the
machine and using a dual-core CPU. (Can you even by a single-core server
anymore???)
The dual-CPU 10,000 client solution was written with the assumption that
clients are synchronizing every TWO hours (an absolutely *pointless*
configuration IMNSHO), but that's the equivalent of 5,000 clients per
hour -- so consider increasing that to detections every 8 hours, and you can
easily add 4x the number of clients to that dual-CPU 4GB machine --
potentially as many as 20,000 clients, just by using the documented hardware
configuration and modifying the detection frequency to maintain the same
relative client load. Drop that to every 12 hours, and you've easily hit
60,000 clients at the same relative load; go all the way to the default 22
hour detection and you've hit 110,000 clients.
Now, the other "unwritten" consideration is the comparison of hardware
resources available today, compared to hardware resources considered in the
2007 writing of the Deployment Guide. Consider the difference between a
dual-socket, single-core, hyperthreaded 3GHz machine with 4GB RAM (about the
top end that was available a few years ago), to a quad-socket, dual-core,
3GHz machine with 16GB RAM -- easily available today (if you write a big
enough check).
You can use your own imagination of what kind of load differentials you
might find between those two machines. The former, mathematically
extrapolated to support 60k clients with some reasonable modifications in
the WUAgent configuration; and the latter with 4x the available RAM and 4x
the number of CPU cores.
So -- to the question: Can a single WSUS server support 60,000 clients? My
answer would be almost certainly using today's available server
configurations, a properly configured multi-spindle drive array, and a
64-bit installation of SQL Server 2005 Standard Edition -- you might even be
able to do double that!
However.. do you *want* to put that many clients in the hands of a single
server? When we start talking about maintaining updates for tens of
thousands of clients, never mind 100,000+, we really need to be thinking
about fault tolerance. Using a two-node NLB cluster with a two-node
Active/Passive SQL cluster brings a level of reliability and security to the
continued deployment of updates in the environment.
Also, something beyond the scope of this little essay, is the *time*
required to actually *deploy* updates to that many clients. If you're
rotating deployments to 100,000 clients around a three-week cycle, you
really cannot afford your only WSUS server to be offline for two or three
days while you restore from a catastrophic failure.
--
Lawrence Garvin, M.S., MCITP:EA, MCDBA
Principal/CTO, Onsite Technology Solutions, Houston, Texas
Microsoft MVP - Software Distribution (2005-2009)
MS WSUS Website:
http://www.microsoft.com/wsus
My MVP Profile:
http://mvp.support.microsoft.com/pro...awrence.Garvin