"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1007],{15680:(e,n,i)=>{i.d(n,{xA:()=>g,yg:()=>m});var o=i(96540);function r(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function t(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,o)}return i}function a(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(n){r(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function s(e,n){if(null==e)return{};var i,o,r=function(e,n){if(null==e)return{};var i,o,r={},t=Object.keys(e);for(o=0;o<t.length;o++)i=t[o],n.indexOf(i)>=0||(r[i]=e[i]);return r}(e,n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(o=0;o<t.length;o++)i=t[o],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var l=o.createContext({}),u=function(e){var n=o.useContext(l),i=n;return e&&(i="function"==typeof e?e(n):a(a({},n),e)),i},g=function(e){var n=u(e.components);return o.createElement(l.Provider,{value:n},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},c=o.forwardRef((function(e,n){var i=e.components,r=e.mdxType,t=e.originalType,l=e.parentName,g=s(e,["components","mdxType","originalType","parentName"]),d=u(i),c=r,m=d["".concat(l,".").concat(c)]||d[c]||p[c]||t;return i?o.createElement(m,a(a({ref:n},g),{},{components:i})):o.createElement(m,a({ref:n},g))}));function m(e,n){var i=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var t=i.length,a=new Array(t);a[0]=c;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[d]="string"==typeof e?e:r,a[1]=s;for(var u=2;u<t;u++)a[u]=i[u];return o.createElement.apply(null,a)}return o.createElement.apply(null,i)}c.displayName="MDXCreateElement"},86722:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>u,toc:()=>d});var o=i(58168),r=i(98587),t=(i(96540),i(15680)),a=["components"],s={id:"basic-cluster-tuning",title:"Basic cluster tuning"},l=void 0,u={unversionedId:"operations/basic-cluster-tuning",id:"operations/basic-cluster-tuning",title:"Basic cluster tuning",description:"\x3c!--",source:"@site/docs/latest/operations/basic-cluster-tuning.md",sourceDirName:"operations",slug:"/operations/basic-cluster-tuning",permalink:"/docs/latest/operations/basic-cluster-tuning",draft:!1,tags:[],version:"current",frontMatter:{id:"basic-cluster-tuning",title:"Basic cluster tuning"},sidebar:"docs",previous:{title:"TLS support",permalink:"/docs/latest/operations/tls-support"},next:{title:"Segment size optimization",permalink:"/docs/latest/operations/segment-optimization"}},g={},d=[{value:"Process-specific guidelines",id:"process-specific-guidelines",level:2},{value:"Historical",id:"historical",level:3},{value:"Heap sizing",id:"heap-sizing",level:4},{value:"Lookups",id:"lookups",level:5},{value:"Processing Threads and Buffers",id:"processing-threads-and-buffers",level:4},{value:"Direct Memory Sizing",id:"direct-memory-sizing",level:4},{value:"Connection pool sizing",id:"connection-pool-sizing",level:4},{value:"Segment Cache Size",id:"segment-cache-size",level:4},{value:"Number of Historicals",id:"number-of-historicals",level:4},{value:"SSD storage",id:"ssd-storage",level:4},{value:"Total memory usage",id:"total-memory-usage",level:4},{value:"Segment sizes matter",id:"segment-sizes-matter",level:4},{value:"Broker",id:"broker",level:3},{value:"Heap sizing",id:"heap-sizing-1",level:4},{value:"Direct memory sizing",id:"direct-memory-sizing-1",level:4},{value:"Connection pool sizing",id:"connection-pool-sizing-1",level:4},{value:"Broker backpressure",id:"broker-backpressure",level:4},{value:"Number of brokers",id:"number-of-brokers",level:4},{value:"Total memory usage",id:"total-memory-usage-1",level:4},{value:"MiddleManager",id:"middlemanager",level:3},{value:"MiddleManager heap sizing",id:"middlemanager-heap-sizing",level:4},{value:"SSD storage",id:"ssd-storage-1",level:4},{value:"Task Count",id:"task-count",level:4},{value:"Task configurations",id:"task-configurations",level:4},{value:"Task heap sizing",id:"task-heap-sizing",level:5},{value:"Lookups",id:"lookups-1",level:6},{value:"Task processing threads and buffers",id:"task-processing-threads-and-buffers",level:5},{value:"Direct memory sizing",id:"direct-memory-sizing-2",level:5},{value:"Connection pool sizing",id:"connection-pool-sizing-2",level:5},{value:"Total memory usage",id:"total-memory-usage-2",level:4},{value:"Configuration guidelines for specific ingestion types",id:"configuration-guidelines-for-specific-ingestion-types",level:5},{value:"Kafka/Kinesis ingestion",id:"kafkakinesis-ingestion",level:6},{value:"Hadoop ingestion",id:"hadoop-ingestion",level:6},{value:"Parallel native ingestion",id:"parallel-native-ingestion",level:6},{value:"Coordinator",id:"coordinator",level:3},{value:"Dynamic Configuration",id:"dynamic-configuration",level:4},{value:"Overlord",id:"overlord",level:3},{value:"Router",id:"router",level:3},{value:"Guidelines for processing threads and buffers",id:"guidelines-for-processing-threads-and-buffers",level:2},{value:"Processing threads",id:"processing-threads",level:3},{value:"Processing buffers",id:"processing-buffers",level:3},{value:"GroupBy merging buffers",id:"groupby-merging-buffers",level:3},{value:"Connection pool guidelines",id:"connection-pool-guidelines",level:2},{value:"Sizing the connection pool for queries",id:"sizing-the-connection-pool-for-queries",level:3},{value:"Per-segment direct memory buffers",id:"per-segment-direct-memory-buffers",level:2},{value:"Segment decompression",id:"segment-decompression",level:3},{value:"Segment merging",id:"segment-merging",level:3},{value:"General recommendations",id:"general-recommendations",level:2},{value:"JVM tuning",id:"jvm-tuning",level:3},{value:"Garbage Collection",id:"garbage-collection",level:4},{value:"Other generally useful JVM flags",id:"other-generally-useful-jvm-flags",level:4},{value:"Use UTC timezone",id:"use-utc-timezone",level:3},{value:"System configuration",id:"system-configuration",level:3},{value:"SSDs",id:"ssds",level:4},{value:"JBOD vs RAID",id:"jbod-vs-raid",level:4},{value:"Swap space",id:"swap-space",level:4},{value:"Linux limits",id:"linux-limits",level:4},{value:"ulimit",id:"ulimit",level:5},{value:"max_map_count",id:"max_map_count",level:5}],p={toc:d},c="wrapper";function m(e){var n=e.components,i=(0,r.A)(e,a);return(0,t.yg)(c,(0,o.A)({},p,i,{components:n,mdxType:"MDXLayout"}),(0,t.yg)("p",null,"This document provides basic guidelines for configuration properties and cluster architecture considerations related to performance tuning of an Apache Druid deployment."),(0,t.yg)("p",null,"Please note that this document provides general guidelines and rules-of-thumb: these are not absolute, universal rules for cluster tuning, and this introductory guide is not an exhaustive description of all Druid tuning properties, which are described in the ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/configuration/"},"configuration reference"),"."),(0,t.yg)("p",null,"If you have questions on tuning Druid for specific use cases, or questions on configuration properties not covered in this guide, please ask the ",(0,t.yg)("a",{parentName:"p",href:"https://druid.apache.org/community/"},"Druid user mailing list or other community channels"),"."),(0,t.yg)("h2",{id:"process-specific-guidelines"},"Process-specific guidelines"),(0,t.yg)("h3",{id:"historical"},"Historical"),(0,t.yg)("h4",{id:"heap-sizing"},"Heap sizing"),(0,t.yg)("p",null,"The biggest contributions to heap usage on Historicals are:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Partial unmerged query results from segments"),(0,t.yg)("li",{parentName:"ul"},"The stored maps for ",(0,t.yg)("a",{parentName:"li",href:"/docs/latest/querying/lookups"},"lookups"),".")),(0,t.yg)("p",null,"A general rule-of-thumb for sizing the Historical heap is ",(0,t.yg)("inlineCode",{parentName:"p"},"(0.5GiB * number of CPU cores)"),", with an upper limit of ~24GiB."),(0,t.yg)("p",null,"This rule-of-thumb scales using the number of CPU cores as a convenient proxy for hardware size and level of concurrency (note: this formula is not a hard rule for sizing Historical heaps)."),(0,t.yg)("p",null,"Having a heap that is too large can result in excessively long GC collection pauses, the ~24GiB upper limit is imposed to avoid this."),(0,t.yg)("p",null,"If caching is enabled on Historicals, the cache is stored on heap, sized by ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.cache.sizeInBytes"),"."),(0,t.yg)("p",null,"Running out of heap on the Historicals can indicate misconfiguration or usage patterns that are overloading the cluster."),(0,t.yg)("h5",{id:"lookups"},"Lookups"),(0,t.yg)("p",null,"If you are using lookups, calculate the total size of the lookup maps being loaded."),(0,t.yg)("p",null,"Druid performs an atomic swap when updating lookup maps (both the old map and the new map will exist in heap during the swap), so the maximum potential heap usage from lookup maps will be (2 * total size of all loaded lookups)."),(0,t.yg)("p",null,"Be sure to add ",(0,t.yg)("inlineCode",{parentName:"p"},"(2 * total size of all loaded lookups)")," to your heap size in addition to the ",(0,t.yg)("inlineCode",{parentName:"p"},"(0.5GiB * number of CPU cores)")," guideline."),(0,t.yg)("h4",{id:"processing-threads-and-buffers"},"Processing Threads and Buffers"),(0,t.yg)("p",null,"Please see the ",(0,t.yg)("a",{parentName:"p",href:"#processing-threads-buffers"},"General Guidelines for Processing Threads and Buffers")," section for an overview of processing thread/buffer configuration."),(0,t.yg)("p",null,"On Historicals:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.processing.numThreads")," should generally be set to ",(0,t.yg)("inlineCode",{parentName:"li"},"(number of cores - 1)"),": a smaller value can result in CPU underutilization, while going over the number of cores can result in unnecessary CPU contention."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.processing.buffer.sizeBytes")," can be set to 500MiB."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.processing.numMergeBuffers"),", a 1:4 ratio of  merge buffers to processing threads is a reasonable choice for general use.")),(0,t.yg)("h4",{id:"direct-memory-sizing"},"Direct Memory Sizing"),(0,t.yg)("p",null,"The processing and merge buffers described above are direct memory buffers."),(0,t.yg)("p",null,"When a historical processes a query, it must open a set of segments for reading. This also requires some direct memory space, described in ",(0,t.yg)("a",{parentName:"p",href:"#segment-decompression"},"segment decompression buffers"),"."),(0,t.yg)("p",null,"A formula for estimating direct memory usage follows:"),(0,t.yg)("p",null,"(",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numThreads")," + ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numMergeBuffers")," + 1) * ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.buffer.sizeBytes")),(0,t.yg)("p",null,"The ",(0,t.yg)("inlineCode",{parentName:"p"},"+ 1")," factor is a fuzzy estimate meant to account for the segment decompression buffers."),(0,t.yg)("h4",{id:"connection-pool-sizing"},"Connection pool sizing"),(0,t.yg)("p",null,"Please see the ",(0,t.yg)("a",{parentName:"p",href:"#connection-pool"},"General Connection Pool Guidelines")," section for an overview of connection pool configuration."),(0,t.yg)("p",null,"For Historicals, ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," should be set to a value slightly higher than the sum of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," across all the Brokers in the cluster."),(0,t.yg)("p",null,"Tuning the cluster so that each Historical can accept 50 queries and 10 non-queries is a reasonable starting point."),(0,t.yg)("h4",{id:"segment-cache-size"},"Segment Cache Size"),(0,t.yg)("p",null,"For better query performance, do not allocate segment data to a Historical in excess of the system free memory.  When ",(0,t.yg)("inlineCode",{parentName:"p"},"free system memory")," is greater than or equal to ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.segmentCache.locations"),", the more segment data the Historical can be held in the memory-mapped segment cache."),(0,t.yg)("p",null,"Druid uses the ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.segmentCache.locations")," to calculate the total segment data size assigned to a Historical. For some rarer use cases, you can override this behavior with ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.maxSize")," property."),(0,t.yg)("h4",{id:"number-of-historicals"},"Number of Historicals"),(0,t.yg)("p",null,"The number of Historicals needed in a cluster depends on how much data the cluster has. For good performance, you will want enough Historicals such that each Historical has a good (",(0,t.yg)("inlineCode",{parentName:"p"},"free system memory")," / total size of all ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.segmentCache.locations"),") ratio, as described in the segment cache size section above."),(0,t.yg)("p",null,"Having a smaller number of big servers is generally better than having a large number of small servers, as long as you have enough fault tolerance for your use case."),(0,t.yg)("h4",{id:"ssd-storage"},"SSD storage"),(0,t.yg)("p",null,"We recommend using SSDs for storage on the Historicals, as they handle segment data stored on disk."),(0,t.yg)("h4",{id:"total-memory-usage"},"Total memory usage"),(0,t.yg)("p",null,"To estimate total memory usage of the Historical under these guidelines:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Heap: ",(0,t.yg)("inlineCode",{parentName:"li"},"(0.5GiB * number of CPU cores) + (2 * total size of lookup maps) + druid.cache.sizeInBytes")),(0,t.yg)("li",{parentName:"ul"},"Direct Memory: ",(0,t.yg)("inlineCode",{parentName:"li"},"(druid.processing.numThreads + druid.processing.numMergeBuffers + 1) * druid.processing.buffer.sizeBytes"))),(0,t.yg)("p",null,"The Historical will use any available free system memory (i.e., memory not used by the Historical JVM and heap/direct memory buffers or other processes on the system) for memory-mapping of segments on disk. For better query performance, you will want to ensure a good (",(0,t.yg)("inlineCode",{parentName:"p"},"free system memory")," / total size of all ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.segmentCache.locations"),") ratio so that a greater proportion of segments can be kept in memory."),(0,t.yg)("h4",{id:"segment-sizes-matter"},"Segment sizes matter"),(0,t.yg)("p",null,"Be sure to check out ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/operations/segment-optimization"},"segment size optimization")," to help tune your Historical processes for maximum performance."),(0,t.yg)("h3",{id:"broker"},"Broker"),(0,t.yg)("h4",{id:"heap-sizing-1"},"Heap sizing"),(0,t.yg)("p",null,"The biggest contributions to heap usage on Brokers are:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Partial unmerged query results from Historicals and Tasks"),(0,t.yg)("li",{parentName:"ul"},"The segment timeline: this consists of location information (which Historical/Task is serving a segment) for all currently ",(0,t.yg)("a",{parentName:"li",href:"/docs/latest/design/storage#segment-lifecycle"},"available")," segments."),(0,t.yg)("li",{parentName:"ul"},"Cached segment metadata: this consists of metadata, such as per-segment schemas, for all currently available segments.")),(0,t.yg)("p",null,"The Broker heap requirements scale based on the number of segments in the cluster, and the total data size of the segments."),(0,t.yg)("p",null,"The heap size will vary based on data size and usage patterns, but 4GiB to 8GiB is a good starting point for a small or medium cluster (~15 servers or less). For a rough estimate of memory requirements on the high end, very large clusters with a node count on the order of ~100 nodes may need Broker heaps of 30GiB-60GiB."),(0,t.yg)("p",null,"If caching is enabled on the Broker, the cache is stored on heap, sized by ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.cache.sizeInBytes"),"."),(0,t.yg)("h4",{id:"direct-memory-sizing-1"},"Direct memory sizing"),(0,t.yg)("p",null,"On the Broker, the amount of direct memory needed depends on how many merge buffers (used for merging GroupBys) are configured. The Broker does not generally need processing threads or processing buffers, as query results are merged on-heap in the HTTP connection threads instead."),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.processing.buffer.sizeBytes")," can be set to 500MiB."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.processing.numMergeBuffers"),": set this to the same value as on Historicals or a bit higher")),(0,t.yg)("h4",{id:"connection-pool-sizing-1"},"Connection pool sizing"),(0,t.yg)("p",null,"Please see the ",(0,t.yg)("a",{parentName:"p",href:"#connection-pool"},"General Connection Pool Guidelines")," section for an overview of connection pool configuration."),(0,t.yg)("p",null,"On the Brokers, please ensure that the sum of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," across all the Brokers is slightly lower than the value of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," on your Historicals and Tasks."),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," on the Broker should be set to a value slightly higher than ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," on the same Broker."),(0,t.yg)("p",null,"Tuning the cluster so that each Historical can accept 50 queries and 10 non-queries, adjusting the Brokers accordingly, is a reasonable starting point."),(0,t.yg)("h4",{id:"broker-backpressure"},"Broker backpressure"),(0,t.yg)("p",null,"When retrieving query results from Historical processes or Tasks, the Broker can optionally specify a maximum buffer size for queued, unread data, and exert backpressure on the channel to the Historical or Tasks when limit is reached (causing writes to the channel to block on the Historical/Task side until the Broker is able to drain some data from the channel)."),(0,t.yg)("p",null,"This buffer size is controlled by the ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.maxQueuedBytes")," setting."),(0,t.yg)("p",null,"The limit is divided across the number of Historicals/Tasks that a query would hit: suppose I have ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.maxQueuedBytes")," set to 5MiB, and the Broker receives a query that needs to be fanned out to 2 Historicals. Each per-historical channel would get a 2.5MiB buffer in this case."),(0,t.yg)("p",null,"You can generally set this to a value of approximately ",(0,t.yg)("inlineCode",{parentName:"p"},"2MiB * number of Historicals"),". As your cluster scales up with more Historicals and Tasks, consider increasing this buffer size and increasing the Broker heap accordingly."),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"If the buffer is too small, this can lead to inefficient queries due to the buffer filling up rapidly and stalling the channel"),(0,t.yg)("li",{parentName:"ul"},"If the buffer is too large, this puts more memory pressure on the Broker due to more queued result data in the HTTP channels.")),(0,t.yg)("h4",{id:"number-of-brokers"},"Number of brokers"),(0,t.yg)("p",null,"A 1:15 ratio of Brokers to Historicals is a reasonable starting point (this is not a hard rule)."),(0,t.yg)("p",null,"If you need Broker HA, you can deploy 2 initially and then use the 1:15 ratio guideline for additional Brokers."),(0,t.yg)("h4",{id:"total-memory-usage-1"},"Total memory usage"),(0,t.yg)("p",null,"To estimate total memory usage of the Broker under these guidelines:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Heap: allocated heap size"),(0,t.yg)("li",{parentName:"ul"},"Direct Memory: ",(0,t.yg)("inlineCode",{parentName:"li"},"(druid.processing.numMergeBuffers + 1) * druid.processing.buffer.sizeBytes"))),(0,t.yg)("h3",{id:"middlemanager"},"MiddleManager"),(0,t.yg)("p",null,"The MiddleManager is a lightweight task controller/manager that launches Task processes, which perform ingestion work."),(0,t.yg)("h4",{id:"middlemanager-heap-sizing"},"MiddleManager heap sizing"),(0,t.yg)("p",null,"The MiddleManager itself does not require much resources, you can set the heap to ~128MiB generally."),(0,t.yg)("h4",{id:"ssd-storage-1"},"SSD storage"),(0,t.yg)("p",null,"We recommend using SSDs for storage on the MiddleManagers, as the Tasks launched by MiddleManagers handle segment data stored on disk."),(0,t.yg)("h4",{id:"task-count"},"Task Count"),(0,t.yg)("p",null,"The number of tasks a MiddleManager can launch is controlled by the ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.worker.capacity")," setting."),(0,t.yg)("p",null,"The number of workers needed in your cluster depends on how many concurrent ingestion tasks you need to run for your use cases. The number of workers that can be launched on a given machine depends on the size of resources allocated per worker and available system resources."),(0,t.yg)("p",null,"You can allocate more MiddleManager machines to your cluster to add task capacity."),(0,t.yg)("h4",{id:"task-configurations"},"Task configurations"),(0,t.yg)("p",null,"The following section below describes configuration for Tasks launched by the MiddleManager. The Tasks can be queried and perform ingestion workloads, so they require more resources than the MM."),(0,t.yg)("h5",{id:"task-heap-sizing"},"Task heap sizing"),(0,t.yg)("p",null,"A 1GiB heap is usually enough for Tasks."),(0,t.yg)("h6",{id:"lookups-1"},"Lookups"),(0,t.yg)("p",null,"If you are using lookups, calculate the total size of the lookup maps being loaded."),(0,t.yg)("p",null,"Druid performs an atomic swap when updating lookup maps (both the old map and the new map will exist in heap during the swap), so the maximum potential heap usage from lookup maps will be (2 * total size of all loaded lookups)."),(0,t.yg)("p",null,"Be sure to add ",(0,t.yg)("inlineCode",{parentName:"p"},"(2 * total size of all loaded lookups)")," to your Task heap size if you are using lookups."),(0,t.yg)("h5",{id:"task-processing-threads-and-buffers"},"Task processing threads and buffers"),(0,t.yg)("p",null,"For Tasks, 1 or 2 processing threads are often enough, as the Tasks tend to hold much less queryable data than Historical processes."),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.indexer.fork.property.druid.processing.numThreads"),": set this to 1 or 2"),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.indexer.fork.property.druid.processing.numMergeBuffers"),": set this to 2"),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"druid.indexer.fork.property.druid.processing.buffer.sizeBytes"),": can be set to 100MiB")),(0,t.yg)("h5",{id:"direct-memory-sizing-2"},"Direct memory sizing"),(0,t.yg)("p",null,"The processing and merge buffers described above are direct memory buffers."),(0,t.yg)("p",null,"When a Task processes a query, it must open a set of segments for reading. This also requires some direct memory space, described in ",(0,t.yg)("a",{parentName:"p",href:"#segment-decompression"},"segment decompression buffers"),"."),(0,t.yg)("p",null,"An ingestion Task also needs to merge partial ingestion results, which requires direct memory space, described in ",(0,t.yg)("a",{parentName:"p",href:"#segment-merging"},"segment merging"),"."),(0,t.yg)("p",null,"A formula for estimating direct memory usage follows:"),(0,t.yg)("p",null,"(",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numThreads")," + ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numMergeBuffers")," + 1) * ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.buffer.sizeBytes")),(0,t.yg)("p",null,"The ",(0,t.yg)("inlineCode",{parentName:"p"},"+ 1")," factor is a fuzzy estimate meant to account for the segment decompression buffers and dictionary merging buffers."),(0,t.yg)("h5",{id:"connection-pool-sizing-2"},"Connection pool sizing"),(0,t.yg)("p",null,"Please see the ",(0,t.yg)("a",{parentName:"p",href:"#connection-pool"},"General Connection Pool Guidelines")," section for an overview of connection pool configuration."),(0,t.yg)("p",null,"For Tasks, ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," should be set to a value slightly higher than the sum of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," across all the Brokers in the cluster."),(0,t.yg)("p",null,"Tuning the cluster so that each Task can accept 50 queries and 10 non-queries is a reasonable starting point."),(0,t.yg)("h4",{id:"total-memory-usage-2"},"Total memory usage"),(0,t.yg)("p",null,"To estimate total memory usage of a Task under these guidelines:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Heap: ",(0,t.yg)("inlineCode",{parentName:"li"},"1GiB + (2 * total size of lookup maps)")),(0,t.yg)("li",{parentName:"ul"},"Direct Memory: ",(0,t.yg)("inlineCode",{parentName:"li"},"(druid.processing.numThreads + druid.processing.numMergeBuffers + 1) * druid.processing.buffer.sizeBytes"))),(0,t.yg)("p",null,"The total memory usage of the MiddleManager + Tasks:"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"MM heap size + druid.worker.capacity * (single task memory usage)")),(0,t.yg)("h5",{id:"configuration-guidelines-for-specific-ingestion-types"},"Configuration guidelines for specific ingestion types"),(0,t.yg)("h6",{id:"kafkakinesis-ingestion"},"Kafka/Kinesis ingestion"),(0,t.yg)("p",null,"If you use the ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/kafka-ingestion"},"Kafka Indexing Service")," or ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/kinesis-ingestion"},"Kinesis Indexing Service"),", the number of tasks required will depend on the number of partitions and your taskCount/replica settings."),(0,t.yg)("p",null,"On top of those requirements, allocating more task slots in your cluster is a good idea, so that you have free task\nslots available for other tasks, such as ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/data-management/compaction"},"compaction tasks"),"."),(0,t.yg)("h6",{id:"hadoop-ingestion"},"Hadoop ingestion"),(0,t.yg)("p",null,"If you are only using ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/hadoop"},"Hadoop-based batch ingestion")," with no other ingestion types, you can lower the amount of resources allocated per Task. Batch ingestion tasks do not need to answer queries, and the bulk of the ingestion workload will be executed on the Hadoop cluster, so the Tasks do not require much resources."),(0,t.yg)("h6",{id:"parallel-native-ingestion"},"Parallel native ingestion"),(0,t.yg)("p",null,"If you are using ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/native-batch"},"parallel native batch ingestion"),", allocating more available task slots is a good idea and will allow greater ingestion concurrency."),(0,t.yg)("h3",{id:"coordinator"},"Coordinator"),(0,t.yg)("p",null,"The main performance-related setting on the Coordinator is the heap size."),(0,t.yg)("p",null,"The heap requirements of the Coordinator scale with the number of servers, segments, and tasks in the cluster."),(0,t.yg)("p",null,"You can set the Coordinator heap to the same size as your Broker heap, or slightly smaller: both services have to process cluster-wide state and answer API requests about this state."),(0,t.yg)("h4",{id:"dynamic-configuration"},"Dynamic Configuration"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"percentOfSegmentsToConsiderPerMove")),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"The default value is 100. This means that the Coordinator will consider all segments when it is looking for a segment to move. The Coordinator makes a weighted choice, with segments on Servers with the least capacity being the most likely segments to be moved.",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"This weighted selection strategy means that the segments on the servers who have the most available capacity are the least likely to be chosen."),(0,t.yg)("li",{parentName:"ul"},"As the number of segments in the cluster increases, the probability of choosing the Nth segment to move decreases; where N is the last segment considered for moving."),(0,t.yg)("li",{parentName:"ul"},"An admin can use this config to skip consideration of that Nth segment."))),(0,t.yg)("li",{parentName:"ul"},"Instead of skipping a precise amount of segments, we skip a percentage of segments in the cluster.",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"For example, with the value set to 25, only the first 25% of segments will be considered as a segment that can be moved. This 25% of segments will come from the servers that have the least available capacity.",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"In this example, each time the Coordinator looks for a segment to move, it will consider 75% less segments than it did when the configuration was 100. On clusters with hundreds of thousands of segments, this can add up to meaningful coordination time savings."))))),(0,t.yg)("li",{parentName:"ul"},"General recommendations for this configuration:",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"If you are not worried about the amount of time it takes your Coordinator to complete a full coordination cycle, you likely do not need to modify this config."),(0,t.yg)("li",{parentName:"ul"},"If you are frustrated with how long the Coordinator takes to run a full coordination cycle, and you have set the Coordinator dynamic config ",(0,t.yg)("inlineCode",{parentName:"li"},"maxSegmentsToMove")," to a value above 0 (the default is 5), setting this config to a non-default value can help shorten coordination time.",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"The recommended starting point value is 66. It represents a meaningful decrease in the percentage of segments considered while also not being too aggressive (You will consider 1/3 fewer segments per move operation with this value)."))))),(0,t.yg)("li",{parentName:"ul"},"The impact that modifying this config will have on your coordination time will be a function of how low you set the config value, the value for ",(0,t.yg)("inlineCode",{parentName:"li"},"maxSegmentsToMove")," and the total number of segments in your cluster.",(0,t.yg)("ul",{parentName:"li"},(0,t.yg)("li",{parentName:"ul"},"If your cluster has a relatively small number of segments, or you choose to move few segments per coordination cycle, there may not be much savings to be had here.")))),(0,t.yg)("h3",{id:"overlord"},"Overlord"),(0,t.yg)("p",null,"The main performance-related setting on the Overlord is the heap size."),(0,t.yg)("p",null,"The heap requirements of the Overlord scale primarily with the number of running Tasks."),(0,t.yg)("p",null,"The Overlord tends to require less resources than the Coordinator or Broker. You can generally set the Overlord heap to a value that's 25-50% of your Coordinator heap."),(0,t.yg)("h3",{id:"router"},"Router"),(0,t.yg)("p",null,"The Router has light resource requirements, as it proxies requests to Brokers without performing much computational work itself."),(0,t.yg)("p",null,"You can assign it 256MiB heap as a starting point, growing it if needed."),(0,t.yg)("a",{name:"processing-threads-buffers"}),(0,t.yg)("h2",{id:"guidelines-for-processing-threads-and-buffers"},"Guidelines for processing threads and buffers"),(0,t.yg)("h3",{id:"processing-threads"},"Processing threads"),(0,t.yg)("p",null,"The ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numThreads")," configuration controls the size of the processing thread pool used for computing query results. The size of this pool limits how many queries can be concurrently processed."),(0,t.yg)("h3",{id:"processing-buffers"},"Processing buffers"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.buffer.sizeBytes")," is a closely related property that controls the size of the off-heap buffers allocated to the processing threads."),(0,t.yg)("p",null,"One buffer is allocated for each processing thread. A size between 500MiB and 1GiB is a reasonable choice for general use."),(0,t.yg)("p",null,"The TopN and GroupBy queries use these buffers to store intermediate computed results. As the buffer size increases, more data can be processed in a single pass."),(0,t.yg)("h3",{id:"groupby-merging-buffers"},"GroupBy merging buffers"),(0,t.yg)("p",null,"If you plan to issue GroupBy queries, ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numMergeBuffers")," is an important configuration property."),(0,t.yg)("p",null,"GroupBy queries use an additional pool of off-heap buffers for merging query results. These buffers have the same size as the processing buffers described above, set by the ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.buffer.sizeBytes")," property."),(0,t.yg)("p",null,"Non-nested GroupBy queries require 1 merge buffer per query, while a nested GroupBy query requires 2 merge buffers (regardless of the depth of nesting)."),(0,t.yg)("p",null,"The number of merge buffers determines the number of GroupBy queries that can be processed concurrently."),(0,t.yg)("a",{name:"connection-pool"}),(0,t.yg)("h2",{id:"connection-pool-guidelines"},"Connection pool guidelines"),(0,t.yg)("p",null,"Each Druid process has a configuration property for the number of HTTP connection handling threads, ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads"),"."),(0,t.yg)("p",null,"The number of HTTP server threads limits how many concurrent HTTP API requests a given process can handle."),(0,t.yg)("h3",{id:"sizing-the-connection-pool-for-queries"},"Sizing the connection pool for queries"),(0,t.yg)("p",null,"The Broker has a setting ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," that controls how many outgoing connections it can make to a given Historical or Task process."),(0,t.yg)("p",null,"These connections are used to send queries to the Historicals or Tasks, with one connection per query; the value of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," is effectively a limit on the number of concurrent queries that a given broker can process."),(0,t.yg)("p",null,"Suppose we have a cluster with 3 Brokers and ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," is set to 10."),(0,t.yg)("p",null,"This means that each Broker in the cluster will open up to 10 connections to each individual Historical or Task (for a total of 30 incoming query connections per Historical/Task)."),(0,t.yg)("p",null,"On the Historical/Task side, this means that ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," must be set to a value at least as high as the sum of ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," across all the Brokers in the cluster."),(0,t.yg)("p",null,"In practice, you will want to allocate additional server threads for non-query API requests such as status checks; adding 10 threads for those is a good general guideline. Using the example with 3 Brokers in the cluster and ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," set to 10, a value of 40 would be appropriate for ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," on Historicals and Tasks."),(0,t.yg)("p",null,"As a starting point, allowing for 50 concurrent queries (requests that read segment data from datasources) + 10 non-query requests (other requests like status checks) on Historicals and Tasks is reasonable (i.e., set ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.server.http.numThreads")," to 60 there), while sizing ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.broker.http.numConnections")," based on the number of Brokers in the cluster to fit within the 50 query connection limit per Historical/Task."),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"If the connection pool across Brokers and Historicals/Tasks is too small, the cluster will be underutilized as there are too few concurrent query slots."),(0,t.yg)("li",{parentName:"ul"},"If the connection pool is too large, you may get out-of-memory errors due to excessive concurrent load, and increased resource contention."),(0,t.yg)("li",{parentName:"ul"},"The connection pool sizing matters most when you require QoS-type guarantees and use query priorities; otherwise, these settings can be more loosely configured."),(0,t.yg)("li",{parentName:"ul"},"If your cluster usage patterns are heavily biased towards a high number of small concurrent queries (where each query takes less than ~15ms), enlarging the connection pool can be a good idea."),(0,t.yg)("li",{parentName:"ul"},'The 50/10 general guideline here is a rough starting point, since different queries impose different amounts of load on the system. To size the connection pool more exactly for your cluster, you would need to know the execution times for your queries and ensure that the rate of incoming queries does not exceed your "drain" rate.')),(0,t.yg)("h2",{id:"per-segment-direct-memory-buffers"},"Per-segment direct memory buffers"),(0,t.yg)("h3",{id:"segment-decompression"},"Segment decompression"),(0,t.yg)("p",null,"When opening a segment for reading during segment merging or query processing, Druid allocates a 64KiB off-heap decompression buffer for each column being read."),(0,t.yg)("p",null,"Thus, there is additional direct memory overhead of (64KiB ",(0,t.yg)("em",{parentName:"p"}," number of columns read per segment ")," number of segments read) when reading segments."),(0,t.yg)("h3",{id:"segment-merging"},"Segment merging"),(0,t.yg)("p",null,"In addition to the segment decompression overhead described above, when a set of segments are merged during ingestion, a direct buffer is allocated for every String typed column, for every segment in the set to be merged."),(0,t.yg)("p",null,"The size of these buffers are equal to the cardinality of the String column within its segment, times 4 bytes (the buffers store integers)."),(0,t.yg)("p",null,"For example, if two segments are being merged, the first segment having a single String column with cardinality 1000, and the second segment having a String column with cardinality 500, the merge step would allocate (1000 + 500) * 4 = 6000 bytes of direct memory."),(0,t.yg)("p",null,'These buffers are used for merging the value dictionaries of the String column across segments. These "dictionary merging buffers" are independent of the "merge buffers" configured by ',(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numMergeBuffers"),"."),(0,t.yg)("h2",{id:"general-recommendations"},"General recommendations"),(0,t.yg)("h3",{id:"jvm-tuning"},"JVM tuning"),(0,t.yg)("h4",{id:"garbage-collection"},"Garbage Collection"),(0,t.yg)("p",null,"We recommend using the G1GC garbage collector:"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"-XX:+UseG1GC")),(0,t.yg)("p",null,"Enabling process termination on out-of-memory errors is useful as well, since the process generally will not recover from such a state, and it's better to restart the process:"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"-XX:+ExitOnOutOfMemoryError")),(0,t.yg)("h4",{id:"other-generally-useful-jvm-flags"},"Other generally useful JVM flags"),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre"},"-Duser.timezone=UTC\n-Dfile.encoding=UTF-8\n-Djava.io.tmpdir=<should not be volatile tmpfs and also has good read and write speed. Strongly recommended to avoid using NFS mount>\n-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager\n-Dorg.jboss.logging.provider=slf4j\n-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.SLF4JLogger\n-Dlog4j.shutdownCallbackRegistry=org.apache.druid.common.config.Log4jShutdown\n-Dlog4j.shutdownHookEnabled=true\n-XX:+PrintGCDetails\n-XX:+PrintGCDateStamps\n-XX:+PrintGCTimeStamps\n-XX:+PrintGCApplicationStoppedTime\n-XX:+PrintGCApplicationConcurrentTime\n-Xloggc:/var/logs/druid/historical.gc.log\n-XX:+UseGCLogFileRotation\n-XX:NumberOfGCLogFiles=50\n-XX:GCLogFileSize=10m\n-XX:+ExitOnOutOfMemoryError\n-XX:+HeapDumpOnOutOfMemoryError\n-XX:HeapDumpPath=/var/logs/druid/historical.hprof\n-XX:MaxDirectMemorySize=1g\n")),(0,t.yg)("admonition",{type:"info"},(0,t.yg)("p",{parentName:"admonition"}," Please note that the flag settings above represent sample, general guidelines only. Be careful to use values appropriate\nfor your specific scenario and be sure to test any changes in staging environments.")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"ExitOnOutOfMemoryError")," flag is only supported starting JDK 8u92 . For older versions, ",(0,t.yg)("inlineCode",{parentName:"p"},"-XX:OnOutOfMemoryError='kill -9 %p'")," can be used."),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"MaxDirectMemorySize")," restricts JVM from allocating more than specified limit, by setting it to unlimited JVM restriction is lifted and OS level memory limits would still be effective. It's still important to make sure that Druid is not configured to allocate more off-heap memory than your machine has available. Important settings here include ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numThreads"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.numMergeBuffers"),", and ",(0,t.yg)("inlineCode",{parentName:"p"},"druid.processing.buffer.sizeBytes"),"."),(0,t.yg)("p",null,"Additionally, for large JVM heaps, here are a few Garbage Collection efficiency guidelines that have been known to help in some cases."),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Mount /tmp on tmpfs. See ",(0,t.yg)("a",{parentName:"li",href:"http://www.evanjones.ca/jvm-mmap-pause.html"},"The Four Month Bug: JVM statistics cause garbage collection pauses"),"."),(0,t.yg)("li",{parentName:"ul"},"On Disk-IO intensive processes (e.g., Historical and MiddleManager), GC and Druid logs should be written to a different disk than where data is written."),(0,t.yg)("li",{parentName:"ul"},"Disable ",(0,t.yg)("a",{parentName:"li",href:"https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html"},"Transparent Huge Pages"),"."),(0,t.yg)("li",{parentName:"ul"},"Try disabling biased locking by using ",(0,t.yg)("inlineCode",{parentName:"li"},"-XX:-UseBiasedLocking")," JVM flag. See ",(0,t.yg)("a",{parentName:"li",href:"https://dzone.com/articles/logging-stop-world-pauses-jvm"},"Logging Stop-the-world Pauses in JVM"),".")),(0,t.yg)("h3",{id:"use-utc-timezone"},"Use UTC timezone"),(0,t.yg)("p",null,"We recommend using UTC timezone for all your events and across your hosts, not just for Druid, but for all data infrastructure. This can greatly mitigate potential query problems with inconsistent timezones. To query in a non-UTC timezone see ",(0,t.yg)("a",{parentName:"p",href:"/docs/latest/querying/granularities#period-granularities"},"query granularities")),(0,t.yg)("h3",{id:"system-configuration"},"System configuration"),(0,t.yg)("h4",{id:"ssds"},"SSDs"),(0,t.yg)("p",null,"SSDs are highly recommended for Historical, MiddleManager, and Indexer processes if you are not running a cluster that is entirely in memory. SSDs can greatly mitigate the time required to page data in and out of memory."),(0,t.yg)("h4",{id:"jbod-vs-raid"},"JBOD vs RAID"),(0,t.yg)("p",null,"Historical processes store large number of segments on Disk and support specifying multiple paths for storing those. Typically, hosts have multiple disks configured with RAID which makes them look like a single disk to OS. RAID might have overheads specially if its not hardware controller based but software based. So, Historicals might get improved disk throughput with JBOD."),(0,t.yg)("h4",{id:"swap-space"},"Swap space"),(0,t.yg)("p",null,"We recommend ",(0,t.yg)("em",{parentName:"p"},"not")," using swap space for Historical, MiddleManager, and Indexer processes since due to the large number of memory mapped segment files can lead to poor and unpredictable performance."),(0,t.yg)("h4",{id:"linux-limits"},"Linux limits"),(0,t.yg)("p",null,"For Historical, MiddleManager, and Indexer processes (and for really large clusters, Broker processes), you might need to adjust some Linux system limits to account for a large number of open files, a large number of network connections, or a large number of memory mapped files."),(0,t.yg)("h5",{id:"ulimit"},"ulimit"),(0,t.yg)("p",null,"The limit on the number of open files can be set permanently by editing ",(0,t.yg)("inlineCode",{parentName:"p"},"/etc/security/limits.conf"),". This value should be substantially greater than the number of segment files that will exist on the server."),(0,t.yg)("h5",{id:"max_map_count"},"max_map_count"),(0,t.yg)("p",null,"Historical processes and to a lesser extent, MiddleManager and Indexer processes memory map segment files, so depending on the number of segments per server, ",(0,t.yg)("inlineCode",{parentName:"p"},"/proc/sys/vm/max_map_count")," might also need to be adjusted. Depending on the variant of Linux, this might be done via ",(0,t.yg)("inlineCode",{parentName:"p"},"sysctl")," by placing a file in ",(0,t.yg)("inlineCode",{parentName:"p"},"/etc/sysctl.d/")," that sets ",(0,t.yg)("inlineCode",{parentName:"p"},"vm.max_map_count"),"."))}m.isMDXComponent=!0}}]);