All the configuration options detailed below are defined in the section of your config file as separate values. When running RavenDB as a website (through IIS, or in Embedded mode), the config file is web.config; otherwise it is the Raven.Server.exe.config file.
Changes to the config file or additions / removal from the Plugins directory will not be picked up automatically by the RavenDB service. For your changes to be recognized you will need to restart the service. You can do so calling: Raven.Server.exe /restart.
If you are running in Embedded mode, or RavenDB is running as an IIS application, touching the web.config file will cause IIS to automatically restart RavenDB.
Sample configurations file
This is the standard app.config XML file. The appSettings section is where the configuration options go, also for web applications which have a web.config file instead.
What thread priority to give the various background tasks RavenDB uses (mostly for indexing) Allowed values: Lowest, BelowNormal, Normal, AboveNormal, Highest Default: Normal
The maximum allowed page size for queries. Default: 1024 Minimum: 10
The expiration value for documents in the internal document cache. Value is in seconds.
Default: 5 minutes
The path to the indexes that are kept on disk. Putting them in a different drive than the actual data will improve performance significantly. Default: ~/Data/Indexes
Set to true, tells RavenDB NOT to create the indexes that are used by the Management Studio to provide some Collection related features. Allowed values: true/false Default: false
The maximum number of indexing tasks allowed to run in parallel Default: the number of processors in the current machine
Max number of items to take for indexing in a batch Default: 2500 Minimum: 128
How many times a temporary, auto-generated index has to be accessed before it can be promoted to be a permanent one Default: 100
Time (in milliseconds) the index has to be queried at least once in order for it to become permanent Default: 60000 (once per minute)
How often to run the temporary index cleanup process (in seconds) Default: 600 (10 minutes)
How much time in seconds to wait after a temporary index has been used before removing it if no further calls were made to it during that time Default: 1200 (20 minutes)
Temp indexes are kept in memory until they reach this integer value in MB Default: 25 MB Minimum: 1 MB
Should RavenDB's storage be in-memory. If set to true, Munin would be used as the storage engine, regardless of what was specified for StorageTypeName Allowed values: true/false Default: false
The directory for the RavenDB database. You can use the ~\ prefix to refer to RavenDB's base directory. Default: ~\Data
What storage type to use (see: RavenDB Storage engines) Allowed values: esent, munin (at this point of time only Esent is fully supported by RavenDB) Default: esent
What sort of transaction mode to use Allowed values: Lazy (faster, but can result in data loss in the case of server crash), Safe (slower, but will never lose data) Default: Safe
The hostname to use when creating the http listener (null to accept any hostname or address) Default: none, binds to all host names
The port to use when creating the http listener. Default: 8080
The virtual directory to use when creating the http listener. Default: /
Whether to use http compression or not Allowed values: true/false Default: true
Determine the value of the Access-Control-Allow-Origin header sent by the server Allowed values: null (don't send the header), *, http://example.org
Defines which operations are allowed for anonymous users Allowed values: All, Get, None Default: Get
Where to look for plugins for RavenDB Default: ~\Plugins
The directory to search for RavenDB's WebUI. This is usually only useful if you are debugging RavenDB's WebUI Default: ~/Raven/WebUI
Limit the users that can authenticate to RavenDB to only users in the specified groups. Multiple groups can be specified, separated by a semi column (;).
The maximum size of the in memory cache that is used by the storage engine. The value is in megabytes. Default: 1024
The maximum size of version store (in memory modified data) available. The value is in megabytes. Default: 128
The size that the database file will be enlarged with when the file is full. The value is in megabytes. Lower values will result in smaller file size, but slower performance. Default: 16
The size of the database log file. The value is in megabytes. Default: 64
The size of the in memory buffer for transaction log. Default: 16
The maximum number of cursors allowed concurrently. Default: 2048
Where to keep the Esent transaction logs. Putting the logs in a different drive than the data and indexes will improve performance significantly. Default: ~/Data/logs
Whether or not to enable circular logging with Esent. Default: true