SQL Server Distributed Cache Extensions suffering significant performance issues #28366
Labels
area-middleware
Includes: URL rewrite, redirect, response cache/compression, session, and other general middlewares
feature-caching
Includes: StackExchangeRedis and SqlServer distributed caches
help candidate
Indicates that the issues may be a good fit for community to help with. Requires work from eng. team
Milestone
Describe the bug
Serious performance issues when reading binary values, when using SQL Server Distributed Cache extension.
To Reproduce
Using SQL Server Distributed Cache, persist a value with an arbitrary value of 15MB.
Access the data using the async read operations. Note this takes approximately 15 seconds in our environment.
Expected behavior
This should take milliseconds.
Additional context
I suspect this is caused by an open SQL Client bug mentioned below. Can you please verify if this is the case? Is there a work-around that can be implemented in DatabaseOperations until this is resolved?
https://github.com/dotnet/extensions/blob/master/src/Caching/SqlServer/src/DatabaseOperations.cs, line 229
value = reader.GetFieldValue<byte[]>(Columns.Indexes.CacheItemValueIndex);
Reading binary data asynchronously is extremely slow
dotnet/SqlClient#593
It looks like the SqlClient team are suggesting people use the StreamAsync operation as a work-around?
One reasonably successful work-around we have tried is to increase the TDS Packet Size up to 32,767. What are your thoughts on this?
The text was updated successfully, but these errors were encountered: