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

Reduce the readiness checks for functions #249

Merged
merged 1 commit into from Jul 21, 2018

Commits on Jul 21, 2018

  1. Reduce the readiness checks for functions

    * Significantly improves scale up time for functions (when going
      from 0 -> 1)
    * Health check is hit more frequently, but should not noticibly
      impact performance
    * Use the httpget probe type and leverage the watchdog /healthz
      endpoint
    * Make all probe attributes configurable in charts
    
    This could be optimized a little further if new image for doing
    the http probes where created which would block on connection errors
    and return immediately when the response comes back, but the best
    case is < 1s improvement.
    
    Some performance numbers.  Before (there was a timeout error):
    
    cold start: 10.240251064300537
    error calling function: Command 'echo -n "Test" | faas-cli -g http://192.168.64.78:31112 invoke hello-python' returned non-zero exit status 1.
    cold start: 4.621361255645752
    cold start: 5.6364970207214355
    cold start: 11.648431777954102
    cold start: 8.450724840164185
    cold start: 9.854270935058594
    cold start: 12.048357009887695
    cold start: 12.24026870727539
    
    After:
    
    cold start: 1.8590199947357178
    cold start: 1.8544681072235107
    cold start: 2.065181016921997
    cold start: 1.8414137363433838
    cold start: 1.6598482131958008
    cold start: 2.4577977657318115
    cold start: 2.4510068893432617
    cold start: 2.244048833847046
    cold start: 2.6444039344787598
    
    Signed-off-by: Berndt Jung <bjung@vmware.com>
    berndtj committed Jul 21, 2018
    Copy the full SHA
    d451c1e View commit details
    Browse the repository at this point in the history