site.conf.questdb.conf Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of questdb-core Show documentation
Show all versions of questdb-core Show documentation
QuestDB is High Performance Time Series Database
#
# ___ _ ____ ____
# / _ \ _ _ ___ ___| |_| _ \| __ )
# | | | | | | |/ _ \/ __| __| | | | _ \
# | |_| | |_| | __/\__ \ |_| |_| | |_) |
# \__\_\\__,_|\___||___/\__|____/|____/
#
# Configuration file
#
# IP address HTTP server will be listening on
http.ip = 0.0.0.0
# HTTP server port, defaults to 80
http.port = 9000
# Number of worker threads
http.threads = 2
# Idle connection timeout in millis
http.timeout = 15000
# Max number of simultaneous connections
# server will be refusing new connections once
# number of open sockets is above max
# New connections are allowed in once existing ones
# disconnect for three reasons:
# - idle over timeout
# - client disconnected gracefully
# - client kicked out for bad behaviour
#
# default value is 128
http.max.connections = 128
# HTTP request header buffer size
# maximum size of incoming header, requests with header larger
# than buffer can accommodate will be rejected with HTTP/431
# Consider that in cases such as Kerberos authentication,
# request headers can be quite large.
http.buf.req.header = 64K
# HTTP content buffer size
# Content buffer is allocated per connection. Its size is a trade-off
# between performance of data import and memory consumption by server
http.buf.req.content = 4M
# HTTP multipart request header size
# Usually multipart headers are quite small, so 1K should be more than enough
# In cases where multipart header is too small for the request server will return HTTP/400
http.buf.req.multipart = 1K
http.buf.resp.header = 1K
http.buf.resp.content = 1M
# Database root. This can either be relative to server home or absolute.
db.path = db
# Path to mime types file. This can also be either relative to server home or absolute.
mime.types = conf/mime.types
# Public directory for HTTP server
http.public = public
# Enable/Disable SSL on the wire
http.ssl.enabled = false
# Keystore location, server will not start if SSL is enabled and keystore is not found
# sample.ks is a demo keystore, you should change it
http.ssl.keystore.location = conf/sample.ks
http.ssl.keystore.password = changeit
# Flag to require SSL clients provide known certificates
# Useful if you would like to lock down server
http.ssl.auth = false
# Access log file (URLs only)
http.log.access = log/access.log
# Error log
http.log.error = log/error.log
# Depth of internal message queue for handling incoming requests.
# This value must be greater or equal to max number of simultanious connections and
# must be a power of 2. Non-power of two is rounded up to next power of two.
# Default value: 1024
http.queue.depth = 1024
# Size of TCP RCV buffer for non-multipart requests/uploads
# Default value: 8Kb
http.so.rcv.small = 8K
# Size of TCP RCV buffer for multipart requests, which are typically file uploads.
# Default value: 4Mb
http.so.rcv.upload = 4M
# Number of busy spin cycles around socket that is not able to either send or receive
# data. After spin count elaapses thread gives up and moves on to another task.
# Task switch has some time penalty and busy spin is an attempt to mitigate that.
# Default value: 1024 cycles
http.so.retries = 1024
# Flag that drives server to close socket early if incoming data cannot be appended to table.
# This would save server processing large volume of data unnecessarily. Downside is that remote
# user may not get meaningful explanation why socket was closed.
http.abort.broken.uploads = true
# Size of memory allocation page that asof join algorithm will use for data.
# Algorithm will allocate more than one page if necesary.
# Default value: 4Mb
db.asof.datapage = 4M
# Size of memory allocation page for index part of asof join.
# Default value is 1Mb
db.asof.indexpage = 1M
# Size of memory allocation page for asof joins that can be computed
# using row ids and thus have smaller memory footprint.
# Default value is 1Mb
db.asof.rowpage = 1M
# Size of memory allocation page for "order by" algorithm's key area.
# Default value is 1Mb
db.sort.keypage = 1M
# Size of memory allocation page for "order by" algorithm's data area.
# Default value is 4Mb
db.sort.datapage = 4M
# Size of memory allocation page for aggregation and re-sampling algorithms
# Default value is 4Mb
db.aggregate.page = 4M
# Size of memory allocation page for storing keys in hash join algorithm.
# Default value is 4Mb
db.hash.keypage = 4M
# Size of memory allocation page for storing data in hash join algorithm.
# Default value is 4Mb
db.hash.datapage = 8M
# Size of memory allocation page for storing row ids in hash join algorithm.
# Default value is 4Mb
db.hash.rowpage = 1M
# Number of rows processed by internal algorithms before they check if receiving socket is
# still open. This is applicable to non-streaming algorithms, such as hashing or sorting.
# Making this value too large increases time interval between socket closed and
# thread releasing. Making it too small adds overhead of socket check making queries slower.
db.cycles.before.cancel = 1048576
# Size of memory allocation page for analytic functions
db.analytic.func.page = 2M
# Size of memory allocation page for storing data in analytic function window
db.analytic.window.page = 4M
# Page size for system views. This doesn't have to be big unless data schema is extensive.
db.sys.viewpage = 64K
# Typical size of meta2 file or slightly over. Sys views will be appreciative if this value makes sense.
db.sys.metasize = 64K
# Max size of meta2 file. Sys views will reject files over this size.
db.sys.maxmetasize = 8M
# Allocation page size for storing means by stddev() and var(). This page shouldn't be very big
# and default 1M is usually plenty.
db.fn.variance.mean = 1M
# Page size for storing record data by var() and stddev(). Because these functions
# have to pass over dataset twice they need to store values of computed column and some additional data
# to make sense of these values. We estimated that for 22M of double values var() would allocate about 360MB.
db.fn.variance.data = 64M