spaghettidba / WorkloadTools

A collection of tools to collect, analyze and replay SQL Server workloads, on premises and in the cloud
MIT License
234 stars 53 forks source link

Trouble replaying with ReplayWorker Timeout expired #98

Closed john-sterrett closed 1 year ago

john-sterrett commented 4 years ago

I have a workload that normally runs at 10k to 20k batch requests/sec. DRU shows it having 22,732,449 events and 809 sessions. When SQLWorkload starts the replay it goes at about 10% the batch requests/sec. Nothing in infrastructure has changed. Are there maybe some parameters in my json file I should have to make replay run as fast as possible? Can I change max connections and pool size?

I also get this error which makes sense why the request/sec is lower than expected. Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

spaghettidba commented 4 years ago

Makes sense. I tried to limit the number of concurrent connections, because more replay workers means more memory consumption, but I see that in some cases it makes sense to increase the default. I will introduce a configuration option to control the size of the connection pool

spaghettidba commented 3 years ago

Hey John, any updates on the parameters you changed to make it go faster? PRs welcome :)