ningyougang commented on issue #3272: improve loadbalancer's schedule algorithm
URL: 
https://github.com/apache/incubator-openwhisk/pull/3272#issuecomment-364841239
 
 
   @markusthoemmes , it seems `random` is not a good idea, in long time, it is 
`fairly`, but in a short time, `random` may not `failly`, may lead to some 
invoker nodes's action is more, but some others is `less`.
   
   How do i found  the problem?
   Becuase i am testing the `zerodowntime deployment`, during `disable one 
invoker` short time, above  problem exist.
   
   So i suggest to improve like below
   ```
         invokerProgression
           .find(_._3 < invokerBusyThreshold)
           .orElse(invokerProgression.find(_._3 < invokerBusyThreshold * 2))
           .orElse(invokerProgression.find(_._3 < invokerBusyThreshold * 3))
           .orElse(
             if (invokerProgression.isEmpty)
               None
             else
               Some(invokerProgression.minBy(_._3)))
           .map(_._1)
   ```
   
   through ` Some(invokerProgression.minBy(_._3)))`, when all invokers are 
overloaded, the lb will chose the least number of invoker node to execute.
   
   How do you think?
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to