question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Bug?/Feature request] Table storage request concurrency

See original GitHub issue

Hello,

I have been working with your latest azure storage library (7.1.3-preview) in order to implement a library that supports both the full .NET and .NET Core.

Specifically I am working with Azure Table Storage and related APIs.

Previously, the recommended approach to get full performance out of the client library when you make a lot of small requests, was to increase the following property on the ServicePointManager:

ServicePointManager.DefaultConnectionLimit = 100;

However, this class does not exist in .NET Core anymore and the new recommended approach is to use the WinHttpHandler class when you make your requests with an HttpClient, which now has a property called MaxConnectionsPerServer.

Now while I do find the change of API great (no longer needing to use a static class), it kinda leaves me wondering, how do I achieve the same thing with the WindowsAzure.Storage nuget package, which I can only assume uses the HttpClient under the hood, where I have no way of accessing it.

To point out the problem, as it stands right now, if I use my library in a full .NET application using the ServicePointManager, I am able to achieve about twice the performance compared with a .NET Core version.

Something to think about. Or maybe this is already available, and I simply don’t know where/how?

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:9 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
erezvani1529commented, Apr 25, 2017

Hi @goncalo-oliveira, @MikaelGRA,

Looks like the code for missing functionality has been ported (see here) in CoreFx repo, however we can not provide exact timelines about the public availability on all platforms.

Based on our initial assessments with Netstandard2.0, we expect almost all of the missing features from Netstandard/NetCore to be added as well helping with our parity objective 😃

I will update this thread once we have more updates.

Thanks, Elham

0reactions
seanmcc-msftcommented, Mar 6, 2019

Table support has moved to the CosmosDB NuGet package. Please follow up there.

https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

Read more comments on GitHub >

github_iconTop Results From Across the Web

Concurrency not working in Azure table storage
While working with Azure Table Storage, I'm getting concurrency issues with multiple threads. Each thread is trying to update the same record ( ......
Read more >
Managing Concurrency in Microsoft Azure Storage
The table service uses optimistic concurrency checks as the default behavior when you are working with entities, unlike the blob service where ...
Read more >
Performance and scalability checklist for Table storage
This article organizes proven practices for performance into a checklist you can follow while developing your Table storage application.
Read more >
Azure Table Persistence
Azure Table Persistence uses optimistic concurrency control when updating or deleting saga data. Example exception: Azure.Data.Tables.
Read more >
Quotas and limits | BigQuery
A table, query result, or view definition can have up to 10,000 columns. Maximum concurrent slots for on-demand pricing, 2,000 slots, With on-demand...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found