(2017-03-08, 20:51)zosky Wrote: not sure how it would scale to 25. i have 5 clients, and the db on recycled hardware - a core 2 duo - mysql is 3rd highest CPU hog (after flexGet and transmission) but its still plenty responsive when im browsing the library
for sure it would solve the db locking issue, but it might introduce a different one if the machine hosting your db cant keep up with the clients and has to start queuing queries... then you'll need to look at mySql optimisation. increasing its ram, caching common queries and such
Hmm still not convinced MySQL could be faster than pxe boot approach..
(2017-03-08, 21:09)GavinCampbell Wrote: If you want to centralize your content and the database data MySQL is the way to go. You would need to spec the server based on your needs but I have it running in a vm with only 5 clients and barely see anything happening. I have a tonne of other tasks running on that vm server as well.
Also it would be best to have a Kodi instance also running on that server that would update the MySQL database whenever new data is added. It will basically sit quietly minimized and only kick in when it scans for new data. Then all the clients would just use that database and sync things such as watched status and cover art directly from it. Using the MySQL database will not create lockups.
The other way would be that each of your instances use their own database and they all scan for new content at start up so that they are all up to date whenever they start up. This way will however make things slower when they start and also not sync things such as watched status (if that is important).
One more option (but not as pretty) is just to have the file paths as sources in Kodi and navigate them via Video's -> Files. You won't have the pretty cover art as it doesn't import all the data into the database but at least you don't have to deal with scanning and syncing data. Just thought I would mention this as everyone's needs may be different. I use this method for "other videos" that aren't movies or tv shows.
Hopefully that gives you some ideas.
Are you using esxi or similar approach?
Why not boot the db as part of the VM?
I'm using ccboot which is a PXE boot software.
I'm not quite sure the difference with your method,,
but ccboot has what it's called "gamedisk" which is essentially upgradable content for clients..
gamedisk content can be upgraded in the server, and the clients have to reboot once to get the updates.
So i'm doing this with Kodi, by symlink'ing the kodi db in the server OS with db for client gamedisk.
So Server updates Kodi > symlink'ed Database in gamedisk updated > client reboots and get update
So essentially all kodi database in client is loaded during booting process, and then cached in diskless server..
hence i'm getting a very smooth local like Kodi performance even with 25 clients
So i guess the difference is
PXE boot = db loaded during OS boot
MySQL = db loaded when Kodi is open after OS boot
Not sure mysql could match this because some time ago i tested it with a few users and there were some lags..