-
Hi guys, I'm trying to conduct a test on a high CPU VM using SQL Server TPC-C config. I've setup 200 warehouses, ran 150 users through them, but I get the same results whether the machine is 96 CPUs or 224 CPUs. I've got SQL Server Enterprise installed on the VM, which means that I don't have a CPU limitation of standard 48 CPUs, but I'm not sure why I'm not seeing performance boost. Can someone please point me in the right direction? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Hi Dmitry, You need to start out with a hypothesis that aligns to what your trying to simulate. For example, when I benchmarked TPC-C against AWS and Azure with against 64 vCore VMs, I decided that the number of warehouses should generate a database size that would not fit into memory to simulate a realistic sizing found in the real world scenarios. So I compared systems like the AWS r5d.16xlarge vs. an Azure E64s_V3 instance using Premium storage and used the local SSD for the log files to avoid transaction log bottlenecks. Using warehouse sizes of 1000, 2000, and 8000, the database essentially got cached into RAM and the bottleneck was the Log. Once I got to 30000 warehouses with 377 users and no wait time stressed the system where it started to get CPU constrained. If you want to see the impact of more cores, you will need a really good flash storage disk system with at least an 8 GB to 1 vCore ratio. I hope this helps. |
Beta Was this translation helpful? Give feedback.
-
Hi Dmitry, When I discovered things like this, I reached out to the Product Management team to see if they might know what is going on. Also, someone at Intel - like Steve Shaw - may know of an architectural reason why the instruction set for the AMD Rome processors could be a problem with SQL Server workloads. I would expect that PostgreSQL might have a similar problem. I would look at running PostgreSQL and maybe MySQL to see if the same thing occurs. I'll poke around with some of my contacts to see what might be happening. |
Beta Was this translation helpful? Give feedback.
Hi Dmitry,
You are likely constrained by the SQL Server log in terms of IOPS and/or MB/s with your file system. I'm guessing that with the core count, you have a fair amount of RAM as well on these VMs. Your CPU is not likely the system constraint. The size of the database is way too small to see any core benefit as well since you are not CPU constrained.
You need to start out with a hypothesis that aligns to what your trying to simulate. For example, when I benchmarked TPC-C against AWS and Azure with against 64 vCore VMs, I decided that the number of warehouses should generate a database size that would not fit into memory to simulate a realistic sizing found in the real world scenarios…