script_network usertest results on CHK branch
Andrew Bennetts
andrew.bennetts at canonical.com
Mon Nov 3 21:56:28 GMT 2008
I've had a bit of a look at Robert's CHK work-in-progress, and played with
it a little to see what impact it has on network performance.
I took http://people.ubuntu.com/~robertc/baz2.0/repository/ with the latest
bzr.dev merged in, and ran the “network” usertest suite[1] on it vs. plain
bzr.dev. The server used in the test was a bzr.dev TCP smart server on a
loopback interface with 500ms latency. So, roughly speaking, 1s of
benchmark time is 1 round trip for the network-dominated tests.
I tried running it on a development3 (BTree + CHK) branch of bzr.dev, but
even after hacking around some shallow bugs it didn't look like completing
any time soon — after running overnight it had only copied 17M out of ~660.
Curiously, it appears that a single “bzr push” can trigger multiple
autopacks. Here's some log file snippets:
"""
7874.600 Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0xa25db4c>, which has 10 pack files, containing 1000 revisions into 1 packs.
19478.964 Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0xa25db4c>, which has 11 pack files, containing 2000 revisions into 2 packs.
34205.998 Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0xa25db4c>, which has 12 pack files, containing 3000 revisions into 3 packs.
"""
Also, here's the report on of bzr.dev vs. bzr.chk, both using the same
pack-0.92 formatted branch of bzr.dev as the data set:
"""
*** Summary Report: suite network on tree bzr-repo.tar.gz at Mon Nov 3 14:55:22 2008 (930 files) ***
=== Performance Summary (s) ===
1:min() dev/bzr chk/bzr Action
0.98 49.258 50.079 script_network.InitialPushTask:init-repo
0.97 716.641 738.573 script_network.InitialPushTask:push
0.28 2.799 10.135 script_common.BranchTask:clone
0.36 1.312 3.660 script_common.AddTask:add
0.93 0.432 0.463 script_common.AddTask:status
1.32 0.438 0.331 script_common.AddTask:bzr-diff-changed
1.69 2.391 1.412 script_common.AddTask:commit
0.99 43.864 44.096 script_network.PushChangesTask:push
0.99 22.656 22.921 script_network.RefreshMirrorTask:pull
0.98 69.196 70.367 script_network.AnotherBranchTask-anotherBranch:clone
3.24 1.247 0.385 script_common.ChangeTask:status
1.01 0.299 0.297 script_common.ChangeTask:bzr-diff-changed
0.84 0.790 0.940 script_common.ChangeTask:commit
1.00 118.966 119.001 script_network.AnotherPushTask:bzrpush
0.99 67.145 67.925 script_network.AnotherBranchTask-divergedBranch:clone
1.00 57.349 57.205 script_network.AnotherPushTask-diverged:bzrpush
1.00 22.569 22.591 script_network.PushOverwriteTask:push
=== Disk Usage Summary (MB) ===
Old:New MB Directory
1.424 148.492 bzr-repo.tar.gz-2645/work_root_for-_home_andrew_Desktop_bzr-usertest-area_bzr.chk_bzr
1.424 148.461 bzr-repo.tar.gz-2645/work_root_for-_home_andrew_Desktop_bzr-usertest-area_bzr.dev_bzr
=== Cleaning up ===
deleting directory bzr-repo.tar.gz-2645 ...
Total time taken to benchmark source tree bzr-repo.tar.gz: 40 minutes, 47.0 seconds
"""
As you'd hope, most of the network operations haven't changed (± 1 second
is clearly just noise). The only concerning item from a network perspective
is the InitialPushTask. I'll take a closer look at that today.
[1] The extended one in lp:~spiv/bzr-usertest/network-suite, rather than
the current usertest trunk.
-Andrew.
More information about the bazaar
mailing list