X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8da1cf8c69337be51a7ace6923d8c0c0bc7d36e1..b9e8e790912565619289540a8dc546a5c9c60f6e:/lib/config/config.default.yml?ds=sidebyside diff --git a/lib/config/config.default.yml b/lib/config/config.default.yml index 1ea2a89a25..844e67bfcc 100644 --- a/lib/config/config.default.yml +++ b/lib/config/config.default.yml @@ -225,7 +225,17 @@ Clusters: # Maximum number of concurrent requests to process concurrently # in a single service process, or 0 for no limit. - MaxConcurrentRequests: 8 + # + # Note this applies to all Arvados services (controller, webdav, + # websockets, etc.). Concurrency in the controller service is + # also effectively limited by MaxConcurrentRailsRequests (see + # below) because most controller requests proxy through to the + # RailsAPI service. + MaxConcurrentRequests: 64 + + # Maximum number of concurrent requests to process concurrently + # in a single RailsAPI service process, or 0 for no limit. + MaxConcurrentRailsRequests: 8 # Maximum number of incoming requests to hold in a priority # queue waiting for one of the MaxConcurrentRequests slots to be @@ -628,6 +638,15 @@ Clusters: # once. BalanceUpdateLimit: 100000 + # Maximum number of "pull block from other server" and "trash + # block" requests to send to each keepstore server at a + # time. Smaller values use less memory in keepstore and + # keep-balance. Larger values allow more progress per + # keep-balance iteration. A zero value computes all of the + # needed changes but does not apply any. + BalancePullLimit: 100000 + BalanceTrashLimit: 100000 + # Default lifetime for ephemeral collections: 2 weeks. This must not # be less than BlobSigningTTL. DefaultTrashLifetime: 336h @@ -1102,6 +1121,17 @@ Clusters: # A price factor of 1.0 is a reasonable starting point. PreemptiblePriceFactor: 0 + # When the lowest-priced instance type for a given container is + # not available, try other instance types, up to the indicated + # maximum price factor. + # + # For example, with AvailabilityPriceFactor 1.5, if the + # lowest-cost instance type A suitable for a given container + # costs $2/h, Arvados may run the container on any instance type + # B costing $3/h or less when instance type A is not available + # or an idle instance of type B is already running. + MaximumPriceFactor: 1.5 + # PEM encoded SSH key (RSA, DSA, or ECDSA) used by the # cloud dispatcher for executing containers on worker VMs. # Begins with "-----BEGIN RSA PRIVATE KEY-----\n" @@ -1212,11 +1242,14 @@ Clusters: # before being silenced until the end of the period. LogThrottleLines: 1024 - # Maximum bytes that may be logged by a single job. Log bytes that are - # silenced by throttling are not counted against this total. - # If you set this to zero, each container will only create a single - # log on the API server, noting for users that logging is throttled. - LimitLogBytesPerJob: 67108864 + # Maximum bytes that may be logged as legacy log events + # (records posted to the "logs" table). Starting with Arvados + # 2.7, container live logging has migrated to a new system + # (polling the container request live log endpoint) and this + # value should be 0. As of this writing, the container will + # still create a single log on the API server, noting for that + # log events are throttled. + LimitLogBytesPerJob: 0 LogPartialLineThrottlePeriod: 5s @@ -1421,16 +1454,17 @@ Clusters: # as containers start up successfully and decreases in # response to high API load and cloud quota errors. # - # Setting this too high creates a risk that the dispatcher - # will cause deadlock by starting so many supervisor - # containers (based on SupervisorFraction and MaxInstances) - # that the cloud quota prevents them from running any child - # containers. + # Setting this to 0 means the dynamic instance limit will + # start at MaxInstances. # - # Setting this too low causes the dispatcher to be - # unnecessarily slow to start up new instances after a - # restart. - InitialQuotaEstimate: 16 + # Situations where you may want to set this (to a value less + # than MaxInstances) would be when there is significant + # variability or uncertainty in the actual cloud resources + # available. Upon reaching InitialQuotaEstimate the + # dispatcher will switch to a more conservative behavior with + # slower instance start to avoid over-shooting cloud resource + # limits. + InitialQuotaEstimate: 0 # Maximum fraction of available instance capacity allowed to # run "supervisor" containers at any given time. A supervisor @@ -1444,9 +1478,9 @@ Clusters: # containers who just create more work. # # For example, with the default MaxInstances of 64, it will - # schedule at most floor(64*0.30) = 19 concurrent workflows, - # ensuring 45 slots are available for work. - SupervisorFraction: 0.30 + # schedule at most floor(64*0.50) = 32 concurrent workflow + # runners, ensuring 32 slots are available for work. + SupervisorFraction: 0.50 # Interval between cloud provider syncs/updates ("list all # instances"). @@ -1680,6 +1714,11 @@ Clusters: ReadOnly: false "http://host1.example:25107": {} ReadOnly: false + # AllowTrashWhenReadOnly enables unused and overreplicated + # blocks to be trashed/deleted even when ReadOnly is + # true. Normally, this is false and ReadOnly prevents all + # trash/delete operations as well as writes. + AllowTrashWhenReadOnly: false Replication: 1 StorageClasses: # If you have configured storage classes (see StorageClasses