I'd like to better understand how we could tune the LMS database to
improve performance. Please continue to read this posting if

- you have a decent collection of 20k+ tracks
- you run LMS 7.8/7.9
- you are willing to take the risk of applying some little tested
changes to your music server
- you have a server machine with a couple of gigabytes of RAM
- you think LMS usage (NOT the scanner!) is slow

This simple plugin allows you to:

- set the buffer size for the database
- drop indices which I strongly believe are not used in LMS
- VACUUM individual DB files and enable/disable auto_vaccum

Many of the actions will keep your server busy for a while, blocking
playback etc. while changes are applied. Be warned! There's some red
print on the settings page. Read it :-).

If you still want to give this a try: please add the following
repository to the list in Settings/Plugins:


Then install the "Tweak Database" ("Datenbank optimieren" if you're
server is set to German). Go to Settings/Advanced/Tweak Database and
have some fun :-).

What I'm most interested in is the buffer size setting. We currently use
2MB or 20MB (if you set the preference for high memory usage). With this
plugin you can throw lots more at it. I've seen massive improvements in
eg. search in the web UI when lifting this value. Eg. using a 100k
collection a track search might take a couple of seconds with the
default LMS settings. Using a buffer size of 50MB brought this down to
less than a second.

If you have plenty of memory, go to the max and do some searches. The
database will never use more memory than it really needs. Then reduce
the size to half the previous value, until you think searches are
getting slower again (no need to restart LMS between changes). Then
please tell me what your library size, library.db file size and the
buffer size are.

Please note that the standalone scanner does not yet take profit of any
of this. It's server only for now.