I’m having a wierd performance problem with the DotNetZip library.
In the application (which runs under asp.net) i’m reading a set of files from the database and packs them on-the-fly into a zip file for the user to download.
Everything works fine on my development laptop. A zip file being about 10MB with default compression rate takes something around 5 seconds to finish. However, on the dev server at the customer, the same set of files takes around 1-2 minutes to compress. I’ve even experienced even longer times, up to several minutes. The CPU utilization is 100% when the zipping is running, but otherwise it stays around 0%, so it’s not due to overload.
What’s even more interesting is that on the production server, it takes something about 20 seconds to finish.
Where should I start looking?
Some hardware specs:
My Laptop
Development environment running on a virtualbox with 2 cores and 4GB RAM dedicated.
- Core i5 M540 2,5GHz
- 8 GB RAM
- Win7
Dev Server
According to properties dialog on My Computer (probably virtualized)
- Intel Xeon 5160 3GHz
- 540MB RAM
- Windows 2003 Server
Task Manager Reports Single Core
Production Server
According to properties dialog on My Computer (probably virtualized)
- Xenon 5160 3GHz
- 512MB RAM
- Windows 2003 Server
Task Manager Reports Dual Core
Update
The servers are running on a VMWare host. Found the VMWare icon hiding in the taskbar.
The hardware seemed to be the problem here.
The customer’s IT guys have now upgraded the server hardware on which the virtualized dev server runs and I now see compression times at about 6s for the same package size and number of files as on my local computer.
The specs now found in the My Computer properties window: