我正在制作一个程序来存储和读取一些存储在 CSV 文件中的 Azure 表。我得到的是 CSV 文件,它可以有不同数量的列,并且在 3k 到 50k 行之间。我需要做的是在 Azure 表中上传该数据。到目前为止,我设法上传数据并检索它。我正在使用 REST API,为了上传,我正在创建 XML 批处理请求,每个请求有 100 行。现在效果很好,只是上传时间太长了,例如。对于 3k 行,大约需要 30 秒。有什么办法可以加快速度吗?我注意到处理响应(对于ReadToEnd()
命令)需要大部分时间。我在某处读到将代理设置为 null 可能会有所帮助,但在我的情况下并没有多大作用。
我还在某处发现可以将整个 XML 请求上传到 blob,然后从那里执行它,但我找不到任何这样做的示例。
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(content, 0, content.Length);
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
Stream dataStream = response.GetResponseStream();
using (var reader = new StreamReader(dataStream))
{
String responseFromServer = reader.ReadToEnd();
}
}
至于从 azure 表中检索数据,我设法为每个请求获取 1000 个实体。至于那个,3k 行的 CS 大约需要 9 秒。从流中读取也需要大部分时间。当我调用这部分代码时(再次ReadToEnd()
):
response = request.GetResponse() as HttpWebResponse;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string result = reader.ReadToEnd();
}
有小费吗?