5

So I have installed a new instance of WSUS on a 2012R2 system. The WSUS server will be serving about 350 systems (servers+desktops+laptops) total. It is running in a Hyper-V VM, and I currently have allocated it 10GB of memory, but in less than a day the Windows Internal Database usage has jumped up to about 6GB.

This value seems excessive to me. If you search Google you can find tons of articles on how to limit the memory for the Windows internal database. But almost none of the articles I am finding provide any rationale why the chose a particular memory value which seems be between 256MB-4GB depending on the author of the article.

Is this memory usage for WSUS normal? I am not finding any official Microsoft sizing suggestions for WSUS on 2012r2, though docs for an older release suggests that 1GB should be enough for less than 500 computers.

So my question are

  • Is there update location Microsoft has published server sizing specs for WSUS that I am not finding?
  • If I were to set a memory limit for the internal database, what method should be used to pick the right value? Is there some formula, or some performance metric I can look at to set a useful limit?
  • Do I just need to keep adding more memory until WSUS stops using it all?
  • Is there something else I should be doing instead to make WSUS use less resources?
Zoredache
  • 128,755
  • 40
  • 271
  • 413

2 Answers2

3

If I were to set a memory limit for the internal database, what method should be used to pick the right value? Is there some formula, or some performance metric I can look at to set a useful limit?

The Windows Internal Database is a feature-limited instance of MS SQL Server, so it will eventually consume all of your server's memory as long as the database size is large enough. The usual MSSQL database sizing recommendations do apply here if you want to get optimal database performance. Although with WSUS, database performance itself is not as critical and you also have to make sure that enough RAM is left for WSUS' IIS application pool as well as the file system cache.

Personally, I would not bother with evaluating the index page growth rate or the performance metrics of the SQL server but just limit the WID to 2 GB RAM usage and only increase this value when monitoring would raise an alarm about excessive disk utilization. WSUS clients are hardly sensitive to longer response times, so all is fine as long as the machine is not grossly overloaded and client requests are running into timeouts.

Do I just need to keep adding more memory until WSUS stops using it all?

This might consume a considerable amount of your resources as the WSUS database tends to grow over time. A WSUS 3.0 instance on Server 2008 R2 I am managing has some common products and two languages enabled. It is serving ~1,100 clients and has a database size of 15 GB after 2 years of operation.

Is there something else I should be doing instead to make WSUS use less resources?

You might want to look into the application cache and garbage collection settings for WSUS' IIS application pool if the IIS process itself is taking up too much resources and is competing with the filesystem cache. Apart from that, WSUS should be mostly fire & forget if you give it >6 GB of RAM and limit the WID memory size.

Is there update location Microsoft has published server sizing specs for WSUS that I am not finding?

Possibly, but I am not finding them either.

the-wabbit
  • 40,319
  • 13
  • 105
  • 169
1

I've seen leaks and sizing limit changes like you've said, but I know that WSUS' issue is rarely memory usage or CPU. If you are having the clients pull from the server then storage and networking seems to be the big factors. Things like BITS peer caching or downstream WSUS servers will help. That all said, I would set the sizing requirements based on this TechNet article (which you already linked to) times 4 because it's 2015 and the normal IT "inflation" seems to apply here as well.

For reference sake, I have looked at 2 different WSUS deployments I have in place...the first is small, 4 servers, 30 clients...and it is using around 1GB. The other deployment is using SCCM and WSUS so a little different, with 400 servers and 2500 clients, and it's using 8GB of RAM.

TheCleaner
  • 32,352
  • 26
  • 126
  • 188