gpt4 book ai didi

c# - 如何在辅助角色中使用 WCF 进行批量插入

转载 作者:行者123 更新时间:2023-12-03 01:11:42 25 4
gpt4 key购买 nike

我有一个在辅助角色中运行的 WCF,其方法在表中执行插入操作。

我有很多客户端将访问此方法以在表中插入数据,但我确实需要这方面的性能。

在我的插入方法中,我逐条执行插入,因此我想更改此设置以在 WCF 收到 100 条记录后执行批量插入。我该如何做到这一点,我可以在其中存储一个包含该记录列表的变量以便稍后进行批量插入?

最佳答案

您确实需要考虑数据的持久性(或缺乏持久性)。如果您等待 100 次上传,您会将数据临时存储在哪里?唯一安全的地方是 blob、表或队列(或 SQL 数据库服务)。

如果您存储在 RAM 中,它是不稳定的,您可能会丢失数据(而且您的数据将分散在多个服务器实例中,因此在刷新其中一个服务器实例之前,您实际上可能会缓冲远远超过 100 个数据项) .

如果您存储在队列中,您将达到与写入表相同的性能曲线。与 Blob 相同。

这可能是一个过早的优化。表存储为每个分区提供每秒 2,000 个事务(整个存储帐户每秒最多 20,000 个事务)。并且您可以拥有多个存储帐户。

假设您仔细地对数据进行分区(使用不同的分区键,而不是将所有内容存储在一个分区中),您应该会看到每秒超过 2,000 个事务的存储吞吐量。

您还可以将高达 10Gbps 的入站速率移至您的存储帐户。考虑到我们新的 8 核 56GB 机器的最大 NIC 带宽为 2Gbps,您需要同时运行 5 个网卡才能接近该限制。对于单核虚拟机(每个核心 100Mbps),您需要 100 个实例来饱和存储帐户的入口带宽潜力。

有关存储帐户带宽的所有详细信息都在 this article 中.

关于c# - 如何在辅助角色中使用 WCF 进行批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com