Windchill 12 Sizing Guidlines for Virtualization Server Environments
Summary:
- How to interpret and optimize the PTC requirement for physical processors in a virtualized (Windows) OS environment?
- e.g. if the requirement is 10 physical cores how should the virtual processor sockets/cores/threads be configured?
PTC Reference Documentation
- Windchill 12.0.x Server Hardware Sizing Guidelines - Microsoft Windows Platform with Oracle Database | PTC
- Taken from the more general:
---------------
Details:
It seems to me that at this point virtualized Windchill servers are no longer uncommon. However, when reading the PTC recommended minimum server requirements documentation, it is not clear to me how to interpret the requirements specifically for virtual processors.
Physical processors are broken down by:
- Processor sockets,
- Cores
- Logical processors/threads
However, even though the virtualized Windows environment uses the same terminology, that isn't really what is happening when we are talking about 'virtual' processors. In my current understanding, of a virtualized system (and loosely speaking) what the OS recognizes as
- Processor sockets are more akin to cores
- Cores are more akin to threads.
- Threads are usually 1 thread for every core.
Additionally, my understanding is that in a virtualized environment:
- Thread count is the only thing that matters.
- Usually, it is 1 "socket' to 1 "core" to 1 "thread".
- So if you need 10 threads, then you usually designate 10 'sockets'
(10 sockets x 1 core/socket x 1 thread/core = 10 threads)
However, WC documentation doesn't specify # of threads as a requirement, it specifies # of cores as a requirement, yet >= 2 threads/core is common. The PTC docs also specify that MANY threads for each core can cause problems.
- Should I assume that there are 2 threads/core (because most common on Xeon processors) in the calculation?
- For example, if the requirement is 10 cores, then this would mean that 20 processor 'sockets' should be defined
(OS would see 20 sockets x 1 core/socket x 1 socket/core)
- For example, if the requirement is 10 cores, then this would mean that 20 processor 'sockets' should be defined
- Will this method of 1 core/socket cause problems for WC (performance or buggy)?
- Is this optimized for WC, such that we are getting the most stability and performance 'bang for the buck'?
This came up partially related to some performance issues, but more generally want to make sure we are optimizing for performance, stability, and cost.
Environment:
- Windows Server
- Windchill 12.0.1 (application & database servers)
- SQL database

