observation about trac+bzr and bzr smart server with big repo

Alexander Belchenko bialix at ukr.net
Tue Oct 14 08:18:38 BST 2008


Hi,

I'm using trac+bzr since June 2007.
All this time I've used configuration: one big shared repo for all branches.
This repo is also served by bzr smart server (via bzr:// protocol).

In this repo I have about 4500 revisions and about 70-100 branches (about 10-20 packs
in the repo, I did not repack it because some packs is quite big > 50MB).
In my repo there is about 20-30 branches with unique history, i.e. they don't have common
root or parent. This is because we have big multi-components project
with many supported tools and utilities, and I like to have them around.

And I should say that in this configuration both trac and bzr server very slow.
The most slowest operation is Timeline in Trac: when "Repository checkins"
selected I have to wait several minutes (>2) to get page from Trac.

I've used such configuration because in the past trac+bzr cannot serve shared
repo correctly, only branches.

Yesterday I've updated trac+bzr plugin and did split my big repo on separate
small repos (one repo for each group of related branches). Fortunately everything
works fine, and as result I have about 3-5 speed up almost for all operations.
I.e. Timeline now generated in 15-20 seconds instead of several minutes,
push to bzr server is also much faster.

So my question: does this depends on size of the repo or number of the packs in the repo?
May be I need to throw away shared repos at all from Trac site, and using only standalone
branches? Yes, it will use much more disk space, but I probably can live with this if
it helps to get another speedup.
If it depends on number of packs then I just need to pack my repos regularly, I guess,
although now it's more problematic because I have many smaller repos.




More information about the bazaar mailing list