SQL-Server performance metrics: What exactly is Lock Waits/Sec (or: Why is it that unrealistically high?)
The name &quot;Lock Waits/Sec&quot; is terribly misleading.
When you read this counter from sys.dm_os_performance_counters, it is a cumulative value that is reset when the instance is restarted.  Note that this is true of many (or maybe all?) of the &quot;per second&quot; counters here.
If you view it in Perfmon.exe, though, that application does the work of taking diffs and showing a &quot;per second&quot; view of the value.
In your case, 2 million lock waits over the entire uptime of the server might be pretty innocuous.  Of course, a lot of that probably depends on how long things waited on the locks, so this metric won't help you much in isolation.
To your broader issue, if you want to get a sense of what's going on with this server, running sp_BlitzFirst is a good place to start.  It will take a 5 second sample of a number of performance-related metrics (including perfmon counters), and give you a summary of the good, the bad, and the ugly.