Skip to content
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

Push: this function was extremely slow. #3264

Merged
merged 1 commit into from
Jan 4, 2017

Conversation

jeacott1
Copy link

@jeacott1 jeacott1 commented Dec 21, 2016

this fix reduces the time to process push to 165k installations
from 282738.599ms (almost 5 minutes of total server lockup!)
to just 16.283ms!

this fix reduces the time to process 165k installations
from 282738.599ms (almost 5 minutes of total server lockup!)
to just 16.283ms!
@jeacott1 jeacott1 changed the title this function was extremely slow. Push: this function was extremely slow. Dec 21, 2016
@flovilmart
Copy link
Contributor

16ms really? That seems wrong.

@jeacott1
Copy link
Author

jeacott1 commented Dec 24, 2016

I timed it. Try it yourself and see! Only timing this function, nothing else. I see that my initial timing reads like its numbers for the entire process, but they are just wrapping this function call only. The entire push takes about 5 seconds for me aft the fix, and the slow part now is hauling data from mongo. Would be nice if the adapter was handed paged data, and/or the query so there are non core options to improve handling of large installation sets.

@flovilmart
Copy link
Contributor

I trust you on it being faster :) batching will come soon enough, there's a PR open for that, that will also enable queuing in the adapter and distrubute the workload at large

@kontextbewusst
Copy link

I can confirm that this greatly reduces the server load. Pushing to 30k devices previously turned our server unresponsive for several minutes.

@flovilmart flovilmart merged commit ac3f5cd into parse-community:master Jan 4, 2017
@mortizbey
Copy link

@jeacott1 can you briefly explain how that changed caused such a big variation in performance? I am currently using a previous parse server version and my server is getting unresponsive for several minutes. I am thinking of updating to this version, but I am not sure to do it because of #3562 introduced here. What do you guys recommend me to do?

PD: Do you know why the server becomes unresponsive when sending the pushes without this update? I cannot find why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants