Just leaving idea because of problems with db when some big manga drop and get site to halt.
Maybe you could make chapter pages only as static html files that does not hit db on opening and are simply served with nginx (or what else you are using to serve this site). It could be used only for new chapters (like uploaded in last 24 hours) for specific manga (or all of them) and remove it for older chapters. You would need to recreate it on new chapter upload (for any group). Separate file for original and compressed images.
I can see only one things that need to be dynamic: if user read chapter, but this can be postponed to background with JS when user is reading chapter (so it can periodically ping API and stop if got 200/204 back).
You could recreate html with updated comment count on every new comment/no more frequently than 60 sec or something similar, it still will be lighter on server than connecting to db for every user to show them the proper count.
Why bringing the idea: when I moved my wordpress blog to static site (generated with Hugo) it became blazing fast. (for devs searching for some trendy name check JAMstack)
Maybe you could make chapter pages only as static html files that does not hit db on opening and are simply served with nginx (or what else you are using to serve this site). It could be used only for new chapters (like uploaded in last 24 hours) for specific manga (or all of them) and remove it for older chapters. You would need to recreate it on new chapter upload (for any group). Separate file for original and compressed images.
I can see only one things that need to be dynamic: if user read chapter, but this can be postponed to background with JS when user is reading chapter (so it can periodically ping API and stop if got 200/204 back).
You could recreate html with updated comment count on every new comment/no more frequently than 60 sec or something similar, it still will be lighter on server than connecting to db for every user to show them the proper count.
Why bringing the idea: when I moved my wordpress blog to static site (generated with Hugo) it became blazing fast. (for devs searching for some trendy name check JAMstack)