Performance issue
Miroslav Suchý
msuchy at redhat.com
Mon Jul 11 15:45:35 CEST 2016
Dne 8.7.2016 v 15:23 John Keeping napsal(a):
> Can't you already do this by removing scan-path from your config and
> instead adding something like:
>
> include /path/to/my/repo-list
For the record it is
include=/path/to/my/repo-list
(it took me some time to figure it out)
> and you can generate the repo-list file with:
>
> cgit --scan-path=/path/to/repositories >repo-list
Yes!! This is doing exectly what I wanted.
> It's not quite the same because the rest of the configuration won't have
> been loaded but I think we'd rather improve this mechanism that add
> manual cache mangement.
For others:
I patched /etc/cgitrc with
--- /etc/cgitrc 2016-07-11 12:50:16.761192000 +0000
+++ /etc/cgitrc.slow 2016-07-11 12:50:18.088191000 +0000
@@ -6,7 +6,7 @@
cache-dynamic-ttl=120
cache-repo-ttl=120
cache-root-ttl=120
-cache-scanrc-ttl=120
+cache-scanrc-ttl=10
cache-about-ttl=120
cache-snapshot-ttl=120
cache-size=100000
@@ -81,4 +81,4 @@
#repo.readme=info/web/about.html
project-list=/var/lib/copr-dist-git/cgit_pkg_list
#scan-path=/var/lib/dist-git/git/rpms
-include=/var/cache/cgit/repo-list.rc
+scan-path=/var/lib/dist-git/git/rpms
And created this hourly cronjob:
#!/usr/bin/bash
(
flock -n 9 || exit 1
# ... commands executed under lock ...
CGIT_CONFIG="/etc/cgitrc.slow" /var/www/cgi-bin/cgit --scan-path=/var/lib/dist-git/git/rpms
>/var/cache/cgit/repo-list.rc.new >/dev/null && mv -f /var/cache/cgit/repo-list.rc.new /var/cache/cgit/repo-list.rc
) 9>/var/lock/mylockfile
And - yes - it seems to do exactly what I wanted.
--
Miroslav Suchy, RHCA
Red Hat, Senior Software Engineer, #brno, #devexp, #fedora-buildsys
More information about the CGit
mailing list