windows hammerdbcli.exe supporting more than 1 OS KGROUP? #799
Replies: 2 comments 1 reply
-
|
Can you provide some more detailed information to explain what the issue is and what problem you are encountering. You ask is there are coming fix but its not clear if or what needs fixing. |
Beta Was this translation helpful? Give feedback.
-
|
OK, this is clearer, the issue is that running a HammerDB v5.0 workload against SQL Server all of the connections are going to a single processor group, the assumption is that this is a HammerDB issue rather than a Windows/SQL Server one, however there is no data provided so far to back this up and we have some indication of what may be happening. So back in HammerDB v3.2 there was this issue https://www.n0derunner.com/sql-server-uses-only-one-numa-node-with-hammerdb/ with HammerDB making a double connection, the interesting thing here is that this double connection showed evidence that when processor groups are used SQL Server round-robins connections. The investigation suggested at the time time, this was not configurable and there was no load balancing taking place, SQL Server allocated connections in order. In this scenario with the 2 connections it meant the real connections all went to the same node. (This is almost certainly likely to have changed since then). However this issue on the HammerDB side was long fixed, and there is not now double connection - you can view the source in the driver script and every connection uses the user chosen ODBC Driver for SQL Server - so from SQL Server's point of view we have a multi-threaded application making multiple ODBC connections to the database and somehow these are being assigned to one processor group. There is nothing specific in the HammerDB use of ODBC that is requesting this. For troubleshooting - I would recommend using the HammerDB CPU monitor instead of the Windows one: This is processor group aware and will report the NUMA nodes and processor groups when you run the agent (you can test this manually by running the mpstat tool and see the source code that does this here on GitHub). It also shows the user and sys CPU which is important for database workloads. Also try testing with changing processor affinity - you can see in the HammerDB CPU monitor that it is not using the deselected CPUs. Even deselecting auto and selecting all manually can change behaviour. Also take a look at sys.dm_os_schedulers to see what CPUs are online If we can identify an issue with the way connections are made to multiple processor groups then that is what is needed to raise an issue. However using process explorer the Ideal Processor is different for the HammerDB threads - i.e. it is not that HammerDB is running on a subset of cores in my tests but I don't have multiple processor groups to test. However for now it looks like SQL Server has decided to put all of the connections on one processor group rather than HammerDB saying put all the connections on one processor group. Any further evidence you can provide can help diagnose the issue. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
we have noticed that the client doesn't seem to support OS configuration with more than 1 OS KGROUP. Is there a coming fix or any configuration we have been missing? thank you.
Beta Was this translation helpful? Give feedback.
All reactions