Frits Jalvingh wrote:
> Public bug reported:
>
> (I mailed the mailing list about this problem earlier; see Re: Huge data
> transfers/bad performance on bzr pull??).
>
> I have a large repository where pulling small changes can easily take
> almost forever. This morning I did a pull and it took almost half an
> hour. The actual new commits in that pull changes about 40 small files.
> The total data pulled was > 100MB. An earlier pull that was stopped had
> already transfered another 150MB, to in total 250MB was pulled. All the
> while the bzr "python" process used 100% CPU on an Core i7 920
> system!!?!?!
>
> As was requested by the people on the mailing list, I started the 2nd
> pull with the -Dhpss parameter. I will add the log from that to this
> report.
>
> The pull was done with a bzr 1.17 client and an 1.16 server (both on
> Linux).
>
> In addition: since upgrading to 1.16 everywhere I see very bad
> performance all over the place (on Windows clients); commits taking 2 to
> 15(!) minutes; status taking > 2 minutes etc. No idea whether this is
> related; I'll post a separate bug for that.
>
> ** Affects: bzr
> Importance: Undecided
> Status: New
>
So there was a bug in transfers that would cause us to transfer too much
data sometimes, which was this fix in 1.17:
* pack <=> pack fetching is now done via a ``PackStreamSource`` rather
than the ``Packer`` code. The user visible change is that we now
properly fetch the minimum number of texts for non-smart fetching.
(John Arbash Meinel)
However that was only for dumb transfers, not transfers using bzr+ssh.
And if your client was 1.17, that wouldn't be relevant anyway.
I also see some really large content being transferred:
1100.261 638842 byte part read
^- This sort of thing would generally indicate a single content that is
640kB, and I see a lot of them. Did you perhaps have some large objects
added, modified a few times, and then removed? I see some files being
versioned like:
[23682] 2009-07-27 12:26:47.673 INFO: +N CSharpProjects/lib/log4net.dll
[23682] 2009-07-27 12:26:47.673 INFO: +N
CSharpProjects/lib/nunit-console-runner.dll
^- And versioning DLLs often creates a lot of churn in large files.
I would also be curious to find out how large the repository is overall.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Frits Jalvingh wrote:
> Public bug reported:
>
> (I mailed the mailing list about this problem earlier; see Re: Huge data
> transfers/bad performance on bzr pull??).
>
> I have a large repository where pulling small changes can easily take
> almost forever. This morning I did a pull and it took almost half an
> hour. The actual new commits in that pull changes about 40 small files.
> The total data pulled was > 100MB. An earlier pull that was stopped had
> already transfered another 150MB, to in total 250MB was pulled. All the
> while the bzr "python" process used 100% CPU on an Core i7 920
> system!!?!?!
>
> As was requested by the people on the mailing list, I started the 2nd
> pull with the -Dhpss parameter. I will add the log from that to this
> report.
>
> The pull was done with a bzr 1.17 client and an 1.16 server (both on
> Linux).
>
> In addition: since upgrading to 1.16 everywhere I see very bad
> performance all over the place (on Windows clients); commits taking 2 to
> 15(!) minutes; status taking > 2 minutes etc. No idea whether this is
> related; I'll post a separate bug for that.
>
> ** Affects: bzr
> Importance: Undecided
> Status: New
>
So there was a bug in transfers that would cause us to transfer too much
data sometimes, which was this fix in 1.17:
* pack <=> pack fetching is now done via a ``PackStreamSou rce`` rather
than the ``Packer`` code. The user visible change is that we now
properly fetch the minimum number of texts for non-smart fetching.
(John Arbash Meinel)
However that was only for dumb transfers, not transfers using bzr+ssh.
And if your client was 1.17, that wouldn't be relevant anyway.
I also see some really large content being transferred:
1100.261 638842 byte part read
^- This sort of thing would generally indicate a single content that is lib/log4net. dll lib/nunit- console- runner. dll
640kB, and I see a lot of them. Did you perhaps have some large objects
added, modified a few times, and then removed? I see some files being
versioned like:
[23682] 2009-07-27 12:26:47.673 INFO: +N CSharpProjects/
[23682] 2009-07-27 12:26:47.673 INFO: +N
CSharpProjects/
^- And versioning DLLs often creates a lot of churn in large files.
I would also be curious to find out how large the repository is overall.
John
=:->
-----BEGIN PGP SIGNATURE----- enigmail. mozdev. org/
t0+MACgkQJdeBCY SNAAMuUACfYbdIf aSSgCcZwePABmmL RQBg IWWs5Ul6k+ rnCMn93
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkp
GHkAn3GAXKPfFOa
=aPhz
-----END PGP SIGNATURE-----