DotNetZip 库有一个奇怪的性能问题。
在应用程序(在 asp.net 下运行)中,我从数据库中读取一组文件,并将它们即时打包成一个 zip 文件供用户下载。
在我的开发笔记本电脑上一切正常。一个大约 10MB 的 zip 文件,默认压缩率大约需要 5 秒才能完成。但是,在客户的开发服务器上,压缩同一组文件大约需要 1-2 分钟。我什至经历了更长的时间,长达几分钟。压缩运行时 CPU 利用率为 100%,否则保持在 0% 左右,因此不是由于过载。
更有趣的是,在生产服务器上,大约需要 20 秒才能完成。
我应该从哪里开始寻找?
一些硬件规格:
我的笔记本电脑
在具有 2 个内核和 4GB RAM 的专用虚拟机上运行的开发环境。
- 酷睿 i5 M540 2,5GHz
- 8 GB 内存
- Win7
开发服务器
根据我的电脑上的属性对话框(可能是虚拟化的)
- 英特尔至强 5160 3GHz
- 540MB 内存
- 视窗 2003 服务器
任务管理器报告单核
生产服务器
根据我的电脑上的属性对话框(可能是虚拟化的)
- 氙气 5160 3GHz
- 512MB 内存
- 视窗 2003 服务器
任务管理器报告双核
更新 服务器正在 VMWare 主机上运行。发现隐藏在任务栏中的 VMWare 图标。