.NET 9 网络优化


本文翻译自 Máňa, Natalia 和 Anton 创作的 .NET 9 Networking Improvements 秉承我们的传统,我们很高兴与您分享这篇博客文章,以介绍新的 .NET 版本中网络领域相关的最新动态和最有趣的变化。今年,我们带来了 HTTP 领域的改变、新的 HttpClientFactory API、.NET Framework 兼容性优化等更多内容。  HTTP 在接下来的部分中,我们将介绍 HTTP 领域最具影响力的变化。其中包括连接池的性能优化、对多个HTTP/3连接的支持、Windows代理的自动更新,以及重要的社区贡献。  连接池 在此版本中,我们对HTTP连接池进行了两项显著的性能优化。  我们增加了对多个HTTP/3连接的可选支持。根据RFC 9114标准文档,由于连接可以多路复用并行请求,因此不鼓励使用多个HTTP/3连接到对等端。然而,在某些场景下,例如服务器到服务器的通信,即使请求多路复用,单一连接也可能成为瓶颈。我们在 HTTP/2 中看到了这样的限制(dotnet/runtime#35088),它同样具有在单一连接上多路复用的概念。出于同样的原因(dotnet/runtime#51775),我们决定为HTTP/3实现多连接支持(dotnet/runtime#101535)。  该实现本身尽可能贴近 HTTP/2 多连接机制的行为。当前,它的策略是优先填充已有连接,直到达到对端允许的请求上限后,才会创建新的连接。不过,需要注意的是,这是一个具体的实现细节,该行为在未来可能会有所变化。  结果是,我们的基准测试显示每秒请求数(RPS)有显著提升,以下是10,000个并行请求的对比结果:  客户端  单 HTTP/3 连接  多 HTTP/3 连接  最大CPU使用率(%)  35  92  最大核心使用率(%)  971  2572  最大工作集(MB)  3810  6491  最大私有内存(MB)  4415  7228  处理器数量  28  28  […]

New restrictions on package loading


As Visual Studio transitions its core packages and services to an async loading/retrieval model, we’ve identified bugs in both the initial async implementation and the existing synchronous package loading mechanism. While most of these bug fixes have been transparent to extenders, one requires attention due to changed constraints. This post highlights that change. Note that […]

Announcing TypeScript 5.8 RC


Today we are excited to announce the Release Candidate (RC) of TypeScript 5.8! To get started using the Release Candidate, you can get it through npm with the following command: npm install -D typescript@rc Let’s take a look at what’s new in TypeScript 5.8! What’s New Since the Beta? Since our beta release, we have […]

Database and AI: solutions for keeping embeddings updated


In the previous article of this series, it was discussed how embeddings can be quickly created from data already in Azure SQL. This is a useful starting point, but since data in a database changes frequently, a common question arises: “How can the vectors be kept updated whenever there is a change to the content […]