diff options
author | Mikkel Krautz <mikkel@krautz.dk> | 2017-03-06 00:42:57 +0300 |
---|---|---|
committer | Mikkel Krautz <mikkel@krautz.dk> | 2017-03-06 00:42:57 +0300 |
commit | 1818476399feebb71b9a79e89eea3366b9731d72 (patch) | |
tree | d55015a06332b117d2a154de9887382a6a356e2d /scripts/murmur.ini | |
parent | b3df8464d36678172c9ff10af59b6d1a8003da70 (diff) |
ServerDB, Meta: add support for SQLite WAL.
Using SQLite's WAL (write-ahead log) can create less disk I/O while
still providing good consistency and durability.
This change uses SQLite's WAL with synchronous=NORMAL which can
cause loss of transactions on power failure. Only the transactions
which haven't been synced to the disk by the OS are lost. The
database itself will still be in a consistent state, but it might
not have all recent changes.
Diffstat (limited to 'scripts/murmur.ini')
-rw-r--r-- | scripts/murmur.ini | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/murmur.ini b/scripts/murmur.ini index b4b83d225..07f039fb0 100644 --- a/scripts/murmur.ini +++ b/scripts/murmur.ini @@ -15,6 +15,26 @@ ; murmur.sqlite in default locations or create it if not found. database= +; Murmur defaults to using SQLite with its default rollback journal. +; In some situations, using SQLite's write-ahead log (WAL) can be +; advantageous. +; If you encounter slowdowns when moving between channels and similar +; operations, enabling the SQLite write-ahead log might help. +; +; To use SQLite's write-ahead log, set sqlite_wal to one of the following +; values: +; +; 0 - Use SQLite's default rollback journal. +; 1 - Use write-ahead log with synchronous=NORMAL. +; If Murmur crashes, the database will be in a consistent state, but +; the most recent changes might be lost if the operating system did +; not write them to disk yet. This option can improve Murmur's +; interactivity on busy servers, or servers with slow storage. +; 2 - Use write-ahead log with synchronous=FULL. +; All database writes are synchronized to disk when they are made. +; If Murmur crashes, the database will be include all completed writes. +;sqlite_wal=0 + ; If you wish to use something other than SQLite, you'll need to set the name ; of the database above, and also uncomment the below. ; Sticking with SQLite is strongly recommended, as it's the most well tested |