how to increase clone performance

110 views
Skip to first unread message

Yuriy Romanenko

unread,
Jul 16, 2013, 6:31:45 AM7/16/13
to rhod...@googlegroups.com
Hi,
I am observing slow performance with Rhodecode comparing to direct access to mercurial repository:
# time hg clone -U http://user:pass@localhost/repo
destination directory: repo
requesting all changes
adding changesets
adding manifests
adding file changes
added 4044 changesets with 112922 changes to 99549 files

real    15m24.386s
user    2m28.771s
sys     0m12.840s


# time hg clone -U /usr/local/share/mercurial/repo
destination directory: repo

real    1m46.550s
user    0m14.881s
sys     0m31.250s


I have mysql DB, threads = 10 for WAITRESS, cut_off_limit = 512000

Mads Kiilerich

unread,
Jul 16, 2013, 7:01:54 AM7/16/13
to rhod...@googlegroups.com
On Tue, Jul 16, 2013 at 12:31 PM, Yuriy Romanenko <yrom...@gmail.com> wrote:
Hi,
I am observing slow performance with Rhodecode comparing to direct access to mercurial repository:
# time hg clone -U http://user:pass@localhost/repo
destination directory: repo
requesting all changes
adding changesets
adding manifests
adding file changes
added 4044 changesets with 112922 changes to 99549 files

real    15m24.386s
user    2m28.771s
sys     0m12.840s


# time hg clone -U /usr/local/share/mercurial/repo
destination directory: repo

real    1m46.550s
user    0m14.881s
sys     0m31.250s

Local clones will use hardlinks, so these two are really not comparable.

Try to use --pull when cloning locally.

/Mads

Yuriy Romanenko

unread,
Jul 16, 2013, 7:49:42 AM7/16/13
to rhod...@googlegroups.com
# time hg clone -U --pull /usr/local/share/mercurial/repo
destination directory: repo
requesting all changes
adding changesets
adding manifests
adding file changes
added 4044 changesets with 112922 changes to 99549 files

real    9m46.677s
user    3m9.754s
sys     0m27.364s


as you can see, there is still big difference.

Вівторок, 16 липня 2013 р. 14:01:54 UTC+3 користувач Mads Kiilerich написав:

Marcelo Bissaro

unread,
Jul 16, 2013, 8:38:06 AM7/16/13
to rhod...@googlegroups.com

 I have the same behaviour with Rhodecode 1.6.0 using git clone.
 
 And my feeling is that it was faster while using an older version (1.4.0). Unfortunatelly I don't have logs for 1.4.0.
 
 That is the log for today, for a 633mb repo:

/home/user# du -sh /path/to/repo
633M    /path/to/repo

/home/user$ time git clone /path/to/repo
Cloning into 'repo'...
done.

real    0m12.333s
user    0m4.056s
sys     0m2.976s


/home/user$ time git clone ssh://user:pass@remote_host/path/to/repo repo_ssh
Cloning into 'repo_ssh'...
remote: Counting objects: 1957243, done.
remote: Compressing objects: 100% (342364/342364), done.
Receiving objects: 100% (1957243/1957243), 463.78 MiB | 25.32 MiB/s, done.
remote: Total 1957243 (delta 1615760), reused 1938248 (delta 1596859)
Resolving deltas: 100% (1615760/1615760), done.
Checking out files: 100% (30485/30485), done.

real    2m32.986s
user    1m59.840s
sys     0m13.520s


/home/user$ time git clone https://user:pass@remote_host/path/to/repo repo_https
Cloning into 'repo_https'...
remote: Counting objects: 1957243, done.
remote: Compressing objects: 100% (342364/342364), done.
remote: Total 1957243 (delta 1615759), reused 1938249 (delta 1596859)
Receiving objects: 100% (1957243/1957243), 463.78 MiB | 15.87 MiB/s, done.
Resolving deltas: 100% (1615759/1615759), done.

real    5m22.044s
user    3m24.565s
sys     0m10.817s



 I known it should take longer over HTTPS compared to SSH, but I was not expecting to be so different like that. Is that normal?

 I have mysql DB, threads = 5 for WAITRESS, cut_off_limit = 256000

Regards,
Marcelo

--
You received this message because you are subscribed to the Google Groups "rhodecode" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rhodecode+...@googlegroups.com.
To post to this group, send email to rhod...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages