Wir verwenden ein Yum-Repository, um unsere Software an unsere Produktionsinstanzen zu verteilen. Leider wird createrepo zu einem Engpass, und wir haben nur 469 Pakete im Repository.
$ time createrepo /opt/tm-yum-repo
Spawning worker 0 with 469 pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
real 0m43.188s
user 0m37.798s
sys 0m1.296s
Was kann ich tun, um es schneller zu machen?
Antworten:
Die
--cachedir
von dmourati in seiner Antwort angegebene Option hilft Ihnen, sollte aber auch verwendet werden--update
, insbesondere wenn Sie nicht alle 469 Pakete gleichzeitig ersetzen.Darüber hinaus sollten Sie ein separates Repo für dieses Paket erstellen, wenn die Bereitstellung auf diese Weise wirklich zeitkritisch ist und
--update
nicht genug hilft.quelle
Auf der Managerseite von createrepo sehen Sie eine Option für ein Cachedir.
Ich würde dort anfangen.
Wenn das createrepo nicht ausreichend beschleunigen würde, würde ich mir SSD oder tmpfs ansehen .
quelle
Haben Sie versucht, --workers für Multi-Core-CPUs zu verwenden? Normalerweise benutze ich --workers 4, um 4 Threads von createrepo zu erzeugen
quelle
Verwenden Sie die createrepo_c , C-Implementierung von createrepo
quelle