Server load while cloning
Bryan O'Sullivan
bos at serpentine.com
Wed May 6 15:43:11 CDT 2009
On Wed, May 6, 2009 at 9:42 AM, Greg Ward <greg-hg at gerg.ca> wrote:
> Specifically, using my desktop PC (3 GHz Pentium
> 4, 2 GB RAM, 1 SATA disk) as the server and a different machine on the
> LAN as client, cloning over HTTP takes ~7-9 minutes, during which the
> server-side Mercurial process is above 80% CPU usage for most of the
> time. (It consumed about 6 min of CPU time during one clone.)
>
Yep. Mercurial uses bzip2 compression for cloning over HTTP. This gives
slightly better performance than gzip compression over narrow pipes (less
than about 6Mbit/sec), but is extremely costly in server CPU cycles. If you
have a higher-bandwidth connection, the server CPU will become the
bottleneck.
Since bigger pipes are so common now, some enterprising hacker should
probably add a --fast option to clone and pull that would use gzip level 3
for streaming compression instead of bzip2. That should fairly blaze along,
at much lower cost in server resources besides.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://selenic.com/pipermail/mercurial/attachments/20090506/1ecc3e7a/attachment.htm
More information about the Mercurial
mailing list