1 package v1alpha1 2 3 // IOQConfig config from https://docs.couchdb.org/en/stable/config/ioq.html 4 type IOQConfig struct { 5 // Specifies the maximum number of concurrent in-flight IO requests that the queueing system will submit: 6 Concurrency *int `json:"concurrency,omitempty" ini:"concurrency,omitempty"` 7 // The fraction of the time that a background IO request will be selected over an interactive IO request when both queues are non-empty: 8 Ratio *float32 `json:"ratio,omitempty" ini:"ratio,omitempty"` 9 10 // Bypass ioq bypass config belows 11 Bypass *IOQBypassConfig `json:"bypass,omitempty" ini:"ioq.bypass,omitempty"` 12 } 13 14 // IOQBypassConfig System administrators can choose to submit specific classes of IO directly 15 // to the underlying file descriptor or OS process, bypassing the queues altogether. 16 // Installing a bypass can yield higher throughput and lower latency, but relinquishes some control over prioritization. 17 type IOQBypassConfig struct { 18 // Messages on their way to an external process (e.g., couchjs). 19 OSProcess *bool `json:"osProcess,omitempty" ini:"os_process,omitempty"` 20 21 // Disk IO fulfilling interactive read requests. 22 Read *bool `json:"read,omitempty" ini:"read,omitempty"` 23 24 // Disk IO required to update a database. 25 Write *bool `json:"write,omitempty" ini:"write,omitempty"` 26 27 // Disk IO required to update views and other secondary indexes. 28 ViewUpdate *bool `json:"viewUpdate,omitempty" ini:"view_update,omitempty"` 29 30 // Disk IO issued by the background replication processes that fix any inconsistencies between shard copies. 31 ShardSync *bool `json:"shardSync,omitempty" ini:"shard_sync,omitempty"` 32 33 // Disk IO issued by compaction jobs. 34 Compaction *bool `json:"compaction,omitempty" ini:"compaction,omitempty"` 35 36 // Disk IO issued by resharding jobs. 37 Reshard *bool `json:"reshard,omitempty" ini:"reshard,omitempty"` 38 } 39