据我所知,我们无法直接获取调用 ExecuteQuerySegmented 的下载速度。
这是一个解决方法,我们可以获得 ExecuteQuerySegmented 的平均下载速度。
我们可以使用“System.Diagnostics.Stopwatch”类来获取table.ExecuteQuerySegmented方法的执行时间,并使用“System.Text.Encoding.Unicode.GetByteCount(由于azure存储使用json格式的响应生成结果)来获取“table.ExecuteQuerySegmented”的结果大小。
最后,我们可以使用字节/秒来计算速度。
更多细节,您可以参考以下代码:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
"yourstorageaccount");
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Retrieve a reference to the table.
CloudTable table = tableClient.GetTableReference("tablename");
string filter = TableQuery.GenerateFilterCondition(
"PartitionKey", QueryComparisons.Equal, "Aut");
TableContinuationToken continuationToken = null;
TableQuery<BookTest3> query = new TableQuery<BookTest3>().Where(filter);
var watch = System.Diagnostics.Stopwatch.StartNew();
var queryResult = table.ExecuteQuerySegmented(query, continuationToken).Results;
watch.Stop();
//get the execute time
float seconds = watch.ElapsedMilliseconds/ 1000;
//Serialize the object
string s = JsonConvert.SerializeObject(queryResult);
//get bytes
float re = System.Text.Encoding.Unicode.GetByteCount(s)/1000;
Console.WriteLine(re/seconds);
Console.Read();