By default the push collection will schedule a commit to run after each change as well as five minutes since the last commit. They do not contradict each other the timeout one does not prevent the commits after some number of changes.
I suspect that some other issue exists as to why commits are slow.
Have you confirmed commits are slow go to the API UI and go to the Push API and run a commit with 'wait-for-completion' set to true.
If that took a long time then we should find out which step is taking a long time.
Now look for the metrics that have the form:
and look for ones which have a high 'max' or 'mean' value. What steps are they?
It could be that the commit itself is fast but the time from a document being added to push completing a commit is slow. That could be because it is taking a long time for push to be able to run a commit for your collection. Check for your collection the metric:
if that is really high that might help explain what is going on. That should be reporting the amount of time it took from when push requested a commit to run on that collection to the time the request actually started. If a single Funnelback instance is hosting many Push collections this could be high. You can allow push to use more resources for these types of jobs with push.worker-thread-count, this can be set in global.cfg and the default is in global.cfg.default