-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve listing/searcing performance #437
Comments
* Removing ids from DTO as it is not needed on the client side. ~4% saving * Removing orientation information from DB and server response. ~3% saving * removing altitude from GPS data and reducing GPS, exposure and fstop precision ~3% Altogether 10% saving expected. #437
Expected to save 6% on the server result json size. #437
Did some analysis. I found that doing the following modification on the sent data would save this much:
|
This enables to extract common string into a map and only reference their values. This is expected to bring a further 43% savings on search results. Altogether leading to a 50% reduction. #437
So It turns out that after several years of engineering I still cant read a manuals and my nginx compression was not enabled for json and lot other MIME types. 🤦♂️ (My only excuse that I'm not actually a web developer by profession) Enabling compression saved a lot of json download time: As it compressed the previous 11MB download to1.5MB. Not to mention it also compressed down the APP from MBs to less then 500KB significantly improving the first loadtime. I'll update the sample nginx config with the new config. |
Opening directory with a lot (2000+) of photos or running a big search query takes too long.
The issue is two fold:
2, data download time.
It turns out that 2) is more dominant that 1) if one lists a lot of photos.
Searching for

.
(i.e listing my whole gallery ~60k items), downloaded a 33.3MB json in 1.5min, which is 90x longer than I would prefer it.Response header does not show gzipping, but I run into this before and I think the OS unzips and removes it:

I see a few solutions to this:
name
ton
in the json object to save on the string lengths. I do not think that would do any help. This is what gzip is for.Blocked by:
The text was updated successfully, but these errors were encountered: