Thursday, 13 August 2009

Where default Settings are not set to scale…

I was reading about the a new feature in Windows Communication Foundation (WCF) 4.0 on the following blog. The feature in question is a change to the default throttling settings, where the original WCF settings where set statically, and extremely conservative.

For example, here are the default settings in 3.0:

  • MaxConcurrentSessions (default: 10)
  • MaxConcurrentCalls (default: 16)
  • MaxConcurrentInstances (default: 26)

In my infrastructure role, when I hear about performance issues, it an application owner blaming the hardware. I often hear comments like “We need more CPUs”. “We need more memory”. “We need more servers”. “Virtual Servers are SH#T, I want a physical”.

Only problem (in WCF 3), without changing the above settings, throwing more hardware at the problem won’t improve anything. WCF 4 fixes this issue by making the settings a multipliers of the CPU count (and less conservative).

I’m wondering…

  • How many other infrastructure components (WCF, TomCat, PHP, IIS, Apache) are built with default conservative settings that don't scale or are conservative?
  • How well these settings are documented?
  • How are recommended settings communicated from app developer, implementer and business app owner during life cycle of dependant applications?

0 comments: