1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +01:00

Undocument running multiple/dedicated pull daemons

Summary: In modern Phabricator, we should pretty much handle this automatically, and this advice is no longer very reasonable. See <https://github.com/phacility/phabricator/issues/660>

Test Plan: Read documentation.

Reviewers: chad, joshuaspence

Reviewed By: joshuaspence

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D9738
This commit is contained in:
epriestley 2014-06-25 19:04:22 -07:00
parent 30f46e598b
commit 3dda0c82f9

View file

@ -88,50 +88,8 @@ notes in @{article:Managing Daemons with phd}.
You can use the repository detail screen and the Daemon Console to monitor the You can use the repository detail screen and the Daemon Console to monitor the
daemons and their progress importing the repository. Small repositories should daemons and their progress importing the repository. Small repositories should
import quickly, while larger repositories may take some time (it takes about 10 import quickly, while larger repositories may take some time. Commits should
minutes to begin discovering commits in Facebook's 350,000-commit primary begin appearing in Diffusion within a few minutes for all but the largest
repository, and about 18 hours to import it all with 64 taskmasters on modern
hardware). Commits should begin appearing in Diffusion within a few minutes for
all but the largest repositories.
== Tuning Daemons ==
By default, Phabricator launches one daemon to pull and discover all of the
tracked repositories. This works well for a small number of repositories or
a large number of relatively inactive repositories, but might benefit from
tuning in some cases. The daemon makes a rough effort to respect pull
frequencies defined in repository configuration, but may not be able to import
new commits very quickly if you have a large number of repositories (as it is
blocked waiting on I/O from other repositories).
If you want to provide lower commit import latency for some repositories, you
can either launch **more daemons** (which will generally lower latency for all
repositories) or launch additional **dedicated daemons** (which will give you
very fine-grained control over import latency).
=== More Daemons ===
The coarse approach to reducing import latency is to simply launch more daemons,
using `phd`:
phabricator/bin $ ./phd launch RepositoryPullLocal
This will launch another copy of the daemon. The daemons acquire a global lock
before pulling a repository, so you can launch additional daemons without
causing contention or race conditions.
=== Dedicated Daemons ===
You can take a more fine-grained approach and launch dedicated daemons for
specific repositories or groups of repositories. For example, if you want low
latency on the repositories with callsigns `A` and `B`, but don't care about
latency for the other repositories, you could launch two daemons like this:
phabricator/bin $ ./phd launch RepositoryPullLocal -- A B
phabricator/bin $ ./phd launch RepositoryPullLocal -- --not A --not B
The first one will work only on `A` and `B`, and should be able to import
commits with low latency more reliably. The second one will work on all other
repositories. repositories.
= Next Steps = = Next Steps =