I'm running miniDLNA on my DNS-323 NAS with around 32,000 files (15,000 audio, 16,000 pictures, and 1000 video). I have each of these media types in their own separate directory hierarchies, and I have miniDLNA configured such that each of the media types' root directories indicates the type of media it contains.
I find that miniDLNA takes a very long time to scan these directories, and that even after a full scan it sometimes ends up eating up 100% of the CPU when I try to navigate through the directories via my Xbox 360. In these cases, I don't know what it's doing because I can't seem to find any logs (although I didn't look very hard).
In any case, I find this whole notion of scanning 32k files (on limited hardware) and attempting to keep them indexed over time to be unnecessary. I have a feeling this indexing is to support some UPnP or DLNA searching features, but I have no use for those. I keep all my files organized on the filesystem such that I can find what I want by traversing a few layers of directories.
I used this approach with XBMC and samba/CIFS shares without any problems for years. Now I'm using my Xbox 360 with miniDLNA and it's a big step backwards from simple CIFS sharing (I wish the Xbox 360 would support CIFS - it's Microsoft's protocol after all!).
Anyway - would it be possible to configure miniDLNA such that it didn't scan anything and simply presented the configured media directories as-is, allowing only normal filesystem-style directory traversal? I'm not sure what the implications of this would be. I imagine a 'search' feature would either be non-functional, or would have to consult the filesystem on each search, which doesn't matter to me since I never search.
I'm an experienced C++ developer and I'd be willing to help with this effort, but I'd need some guideance to get started.
I've been doing some work to add PostgreSQL support to MiniDLNA, but there's still a fair amount of work to do.
(It should help with large repositories, but you need separate hardware to run the SQL server.)
You can see my code on my github: https://github.com/douglas-carmichael/minidlna