有没有办法防止 Azure 限制我的 csv 读取速度?

Is there a way to prevent Azure from throttling my csv read speed?

我编写的 .Net 应用程序必须读取存储在内存中的每条记录的 CSV 文件。在我的笔记本电脑上,相关文件的处理时间不到一秒......但是自从部署到 Azure 中的 Standard_D11_v2 机器后,我的应用程序的这一部分花费了超过 15 分钟,我无法解释那么多性能打击。当我 运行 快速测试以查看读取一行(从相同的 csv 文件)需要多长时间时,我的笔记本电脑需要 0.014 毫秒,而在 Azure 上需要 7.391 毫秒(长 525 倍!)。

我正在使用 Josh Close 的 CsvHelper 进行读取,而不是在读取循环中执行任何密集操作。该应用程序部署为云服务,而 Azure 机器是非常标准的(没有高级存储),但这似乎是一个相当简单的任务的性能过度下降。有没有其他人遇到过 Azure 部署在读取 CSV 文件时速度非常慢的问题?关于如何加快应用程序的速度有什么建议吗?

csv读取代码供参考:

TextReader textReader = new StreamReader(filepath);
CsvReader csv = new CsvReader(textReader);

while (csv.Read())
{
    // Get record from file
    var record = (IDictionary<string, object>)csv.GetRecord<dynamic>();

    if (record != null)
    {
       // Get 7 fields from record 
       // create new object from the fields
       // store object in dictionary
    }
}

编辑 - 顺便说一句,csv 文件本地存储在应用程序 运行 所在的机器上。

云服务的底层虚拟机的 IOPS 非常低,这似乎是导致此问题的原因。云服务分配给我的机器是 D11_V2 标准,最大 IOPS 为 4x500。

我设置了自己的 VM(DS3_V2 Promo,其最大 IOPS 为 16000),现在读取 csv 不到一秒,代码没有任何变化。