DB Optimizer is a plugin for LMS to improve it's database performance and memory use.
More information can be found on the homepage.
Results 1 to 10 of 73
-
2021-03-02, 10:20 #1
- Join Date
- Aug 2012
- Location
- Austria
- Posts
- 1,197
[Announce] Database Optimizer plugin
Various SW: Web Interface | TUI | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | DB Optimizer | Chiptunes | LMSlib2go | ...
Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...
-
2021-03-02, 11:03 #2
Very interested in trying this.
However, I followed the installation routine —
In the LMS web interface in Settings > Plugins, add https://www.nexus0.net/pub/sw/lmsdboptim/repo.xml to the list of Additional Repositories, activate the plugin and re-start LMS.
— but "DB Optimizer" didn't get installed.
So I tried activating the plugin (ie, ticking the box), saving settings and restarting LMS three more times, but still no luck installing it — it's just showing as an unticked box in its own "LMS DB Optimizer plugin" section of the Plugins page.
I'm using
LMS Version: 8.1.1 - 1610364019
Operating system: Debian - EN - utf8
Platform Architecture: armv7l-linux
Perl Version: 5.28.1 - arm-linux-gnueabihf-thread-multi-64int
Audio::Scan: 1.02
IO::Socket::SSL: 2.060
Database Version: DBD::SQLite 1.58 (sqlite 3.22.0)
Thanks for any help.Duet x 3, via various hi-fi. LMS on Raspberry Pi OS (Debian 10) on a Pi4.
-
2021-03-02, 11:07 #3
- Join Date
- Aug 2012
- Location
- Austria
- Posts
- 1,197
Various SW: Web Interface | TUI | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | DB Optimizer | Chiptunes | LMSlib2go | ...
Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...
-
2021-03-02, 11:29 #4
[21-03-02 18:27:09.6876] main::init (388) Starting Logitech Media Server (v8.1.1, 1610364019, Thu Jan 14 06:24:07 CET 2021) perl 5.028001 - arm-linux-gnueabihf-thread-multi-64int
[21-03-02 18:27:11.4689] Slim::bootstrap::tryModuleLoad (286) Warning: Module [Plugins::LMSdbopt::Plugin] failed to load:
Can't locate Plugins/LMSdbopt/Plugin.pm in @INC (you may need to install the Plugins::LMSdbopt::Plugin module) (@INC contains: /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/LMSdboptim/LMSdbopt/lib /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/CustomScan/lib /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/CustomBrowse/lib /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/BBCSounds/lib /var/lib/squeezeboxserver/cache/InstalledPlugins /usr/share/squeezeboxserver/CPAN/arch/5.28/arm-linux-gnueabihf-thread-multi-64int /usr/share/squeezeboxserver/CPAN/arch/5.28/arm-linux-gnueabihf-thread-multi-64int/auto /usr/share/squeezeboxserver/CPAN/arch/5.28.1/arm-linux-gnueabihf-thread-multi-64int /usr/share/squeezeboxserver/CPAN/arch/5.28.1/arm-linux-gnueabihf-thread-multi-64int/auto /usr/share/squeezeboxserver/CPAN/arch/arm-linux-gnueabihf-thread-multi-64int /usr/share/squeezeboxserver/CPAN/arch/5.28 /usr/share/squeezeboxserver/lib /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/sbin /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at (eval 1056) line 1.
BEGIN failed--compilation aborted at (eval 1056) line 1.
[21-03-02 18:27:11.4699] Slim::Utils::PluginManager::load (323) Error: Couldn't load Plugins::LMSdbopt::Plugin
[21-03-02 18:27:11.7114] Plugins::CustomScan::Scanner::initDatabase (114) CustomScan: Creating database tables
[21-03-02 18:27:11.7133] Plugins::CustomScan::Scanner::initDatabase (119) CustomScan: Upgrading database adding table column valuesort, please wait...
[21-03-02 18:27:11.7139] Plugins::CustomScan::Scanner::executeSQLFile (522) Couldn't open: /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/CustomScan/SQL/SQLite/dbupgrade_valuesort.sql : No such file or directory
[21-03-02 18:27:11.7143] Plugins::CustomScan::Scanner::initDatabase (125) CustomScan: Upgrading database adding table column extravalue, please wait...
[21-03-02 18:27:11.7149] Plugins::CustomScan::Scanner::executeSQLFile (522) Couldn't open: /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/CustomScan/SQL/SQLite/dbupgrade_extravalue.sql : No such file or directory
[21-03-02 18:27:11.7154] Plugins::CustomScan::Scanner::initDatabase (131) CustomScan: Upgrading database adding table column valuetype, please wait...
[21-03-02 18:27:11.7159] Plugins::CustomScan::Scanner::executeSQLFile (522) Couldn't open: /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/CustomScan/SQL/SQLite/dbupgrade_valuetype.sql : No such file or directory
Duet x 3, via various hi-fi. LMS on Raspberry Pi OS (Debian 10) on a Pi4.
-
2021-03-02, 12:11 #5
[Announce] Database Optimizer plugin
> /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/LMSdboptim/LMSdbopt/lib
That's one folder too many. The plugin archive should extract without a
sub-folder for Plugins.pm.
-
2021-03-02, 12:48 #6
- Join Date
- Aug 2012
- Location
- Austria
- Posts
- 1,197
Various SW: Web Interface | TUI | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | DB Optimizer | Chiptunes | LMSlib2go | ...
Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...
-
2021-03-02, 12:54 #7
Hopefully someone will take the time to update TrackStat so it creates the indexes by itself. The intention is that TrackStat should already today create some of the single column indexes but maybe that doesn’t work since you have them in your plugin ? As it’s done now I think the indexes will be duplicated since you use different index names, duplicate indexes might decrease write performance.
The index in tracks table should probably be added to LMS code instead of having it as a plugin. The reason TrackStat creates an index in tracks table is just because it was harder to convince/get core developer to do additions to the core 15 years ago, should be easier today when LMS development is driven by community.
Have you performed any tests to see which TrackStat operations that are improved ?
Having them in your plugin as a first step could be a good idea to verify how much improvement it results in, so I’m not criticizing your work just mentioning the above since I think it’s the next step to take.Erland Isaksson (My homepage)
Developer of many plugins/applets
Starting with LMS 8.0 I no longer support my plugins/applets (see here for more information )
-
2021-03-02, 12:55 #8
- Join Date
- Aug 2012
- Location
- Austria
- Posts
- 1,197
Various SW: Web Interface | TUI | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | DB Optimizer | Chiptunes | LMSlib2go | ...
Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...
-
2021-03-02, 13:14 #9
- Join Date
- Mar 2011
- Posts
- 166
-
2021-03-02, 13:29 #10
- Join Date
- Aug 2012
- Location
- Austria
- Posts
- 1,197
Would certainly be a better solution.
The intention is that TrackStat should already today create some of the single column indexes but maybe that doesnÂ’t work since you have them in your plugin ?
As itÂ’s done now I think the indexes will be duplicated since you use different index names, duplicate indexes might decrease write performance.
The index in tracks table should probably be added to LMS code instead of having it as a plugin. The reason TrackStat creates an index in tracks table is just because it was harder to convince/get core developer to do additions to the core 15 years ago, should be easier today when LMS development is driven by community.
Have you performed any tests to see which TrackStat operations that are improved ?
Having them in your plugin as a first step could be a good idea to verify how much improvement it resultsVarious SW: Web Interface | TUI | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | DB Optimizer | Chiptunes | LMSlib2go | ...
Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...