Skip to content

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