package v1alpha1 // IOQConfig config from https://docs.couchdb.org/en/stable/config/ioq.html type IOQConfig struct { // Specifies the maximum number of concurrent in-flight IO requests that the queueing system will submit: Concurrency *int `json:"concurrency,omitempty" ini:"concurrency,omitempty"` // The fraction of the time that a background IO request will be selected over an interactive IO request when both queues are non-empty: Ratio *float32 `json:"ratio,omitempty" ini:"ratio,omitempty"` // Bypass ioq bypass config belows Bypass *IOQBypassConfig `json:"bypass,omitempty" ini:"ioq.bypass,omitempty"` } // IOQBypassConfig System administrators can choose to submit specific classes of IO directly // to the underlying file descriptor or OS process, bypassing the queues altogether. // Installing a bypass can yield higher throughput and lower latency, but relinquishes some control over prioritization. type IOQBypassConfig struct { // Messages on their way to an external process (e.g., couchjs). OSProcess *bool `json:"osProcess,omitempty" ini:"os_process,omitempty"` // Disk IO fulfilling interactive read requests. Read *bool `json:"read,omitempty" ini:"read,omitempty"` // Disk IO required to update a database. Write *bool `json:"write,omitempty" ini:"write,omitempty"` // Disk IO required to update views and other secondary indexes. ViewUpdate *bool `json:"viewUpdate,omitempty" ini:"view_update,omitempty"` // Disk IO issued by the background replication processes that fix any inconsistencies between shard copies. ShardSync *bool `json:"shardSync,omitempty" ini:"shard_sync,omitempty"` // Disk IO issued by compaction jobs. Compaction *bool `json:"compaction,omitempty" ini:"compaction,omitempty"` // Disk IO issued by resharding jobs. Reshard *bool `json:"reshard,omitempty" ini:"reshard,omitempty"` }