Skip to content

Performance issues with large ebook libraries: Home and Writter combo search hang indefinitely #4177

@moisesbelda

Description

@moisesbelda

What happened?

I have indexed a very large ebook library (around 70,000 books).
The issues I’ve noticed are:

  • The Home page renders the “On Deck” and “Recently Added Series” sections correctly, but after the last section, a loading spinner appears and never finishes. It seems like the Home might be trying to render additional content from the entire 70k library, which causes it to hang.
  • The author search (which I consider one of the most important feature for ebooks) also freezes. It seems to load all possible author values into a combo box, which takes too long and ends up hanging the page.

What did you expect?

The Home page should finish loading normally without hanging, even with a large library.

The author search should be responsive and not try to pre-load all authors at once, as workaround maybe it could be a free text box to search, i.e : "Asimov".

Kavita Version Number - If you don't see your version number listed, please update Kavita and see if your issue still persists.

0.8.8 - Stable

Are you accessing kavita through a reverse proxy? If yes, confirm that the issue persists with a direct connection

Yes

What operating system is Kavita being hosted from?

Docker (Dockerhub Container)

If the issue is being seen on Desktop, what OS are you running where you see the issue?

Windows

If the issue is being seen in the UI, what browsers are you seeing the problem on?

Firefox

If the issue is being seen on Mobile, what OS are you running where you see the issue?

None

If the issue is being seen on the Mobile UI, what browsers are you seeing the problem on?

No response

Relevant log output

Additional Notes

Tested also in MACOSX desktop, Safari, Chrome, Edge...

It seems that performance degrades significantly when the system tries to handle a very large ebook library (70k+ items). Both the Home page and writter search may need optimization for scalability, or at least, allow to search by writter using a free text input instead of a combo will help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageNeeds to be triaged by a developer and assigned a release

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions