我的 Azure 角色依赖于一个庞大的本机库,该库作为一组总共约 700 兆字节的目录提供。图书馆每年更新一次。当前的解决方案是将整个树打包成一个 .zip 文件,然后将其拆分为块并上传到 Blob 存储中。当角色实例启动时,它会一一下载块并将它们按顺序保存到单个文件中,从而恢复原始 .zip。unzip
然后使用 Info-ZIP程序解压缩 .zip 。
现在下载大约需要 25 秒,但解包可能需要 2-4 分钟,这还不够快。我查看了每个进程的性能计数器,它看起来unzip.exe
消耗的 CPU 时间不超过 25%,因此问题可能是 I/O 繁重 - 必须从磁盘读取 .zip,然后提取的数据需要写入磁盘。我正在寻找一些其他方法来打包(和解包)库,以加快部署速度。
我如何打包库,以便在我的代码在 Azure 上运行时尽快解包?