Open maxal1917 opened 4 years ago
The performance issue will be resolved in Table SDK 1.0.7 as verified with large entity. On 1.0.6, the workaround is to disable Table sdk trace by adding diagnostics section in app.config if it's a .NET framework app. It will still be slower than Storage sdk, but much better than without the workaround depending on the usage.
source name="Microsoft.Azure.Cosmos.Table" switchName="ClientSwitch" switchType="System.Diagnostics.SourceSwitch"
In switches seciontion, add name="ClientSwitch" value="Off"
We also hit this performance issue in version 1.0.6 after updating from 1.0.1 in our azure function apps. We saw performance 3-10 times slower in release and up to 70 times slower in in debug. Performance degradation was also non-linear - slower the more entities were being read - 70 times slower was query returning 1700 entities. If we had not had performance up to 70 times slower we probably would not have noticed this as readily. Even when we did it took us some time to narrow the issue down.
Given the potential to significantly affect customer applications I think more attention needs to be drawn to the need to use 1.0.7 or use the system.diagnostics workaround. For example there is no blog post about this. The release notes don't even mentioned 1.0.6. There is no warning on the Nuget package. etc.
We upgraded to the next version of SDK to access our Azure Table storage.
We observed performance degradation of our application after that. We even created test applications with identical usage pattern to isolate it, and still see this performance hit.
We are using .NET Framework code, reading data from Azure table.
Old client: Microsoft.WindowsAzure.Storage - 9.3.2
New client: Microsoft.Azure.Cosmos.Table - 1.0.6
Here is one of the sample tests we tried to run:
When test is ran in Azure environment, here is result:
Any thoughts, advise about it?