我有一个 Azure 表,其中存储了 1000 个按代码的第一个字母划分的折扣代码,因此大约有 30 个分区,每个分区有 1000 条记录。在我的应用程序中,我输入代码并从表中获取特定记录。然后我更新折扣代码以说明它已被使用。在对 1000 个并发用户进行 30 秒的负载测试时,读取代码的响应时间不到 1 秒,但更新记录的时间超过 10 秒。这是表存储的典型行为还是有办法加快速度?
//update discount code
string code = "A0099";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("constring...");
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("discounts");
string partitionKey = code[0].ToString().ToUpper();
TableOperation retrieveOperation = TableOperation.Retrieve<DiscountEntity>(partitionKey, code);
TableResult retrievedResult = table.Execute(retrieveOperation);
if (retrievedResult.Result != null) {
DiscountEntity discount = (DiscountEntity)retrievedResult.Result;
discount.Used = true;
TableOperation updateOperation = TableOperation.Replace(discount);
table.Execute(updateOperation);
}