2

We are running .Net Core app on App Engine Flex. Trying to disable healthcheck, which hits our service with pretty high rate ~72 reqs/sec: enter image description here

This app.yaml doesn't disable healthcheck for some reason:

env: flex
runtime: aspnetcore
vm_health_check:
 enable_health_check: False


resources:
cpu: 12
memory_gb: 14.4
disk_size_gb: 20

automatic_scaling:
 min_num_instances: 6
 max_num_instances: 20
 cool_down_period_sec: 180
 cpu_utilization:
  target_utilization: 0.5

Any thoughts?

Community
  • 1
  • 1
Grigoryants Artem
  • 1,401
  • 2
  • 15
  • 32
  • Potentially of interest re. the high rates: https://stackoverflow.com/questions/42886929/deploying-to-google-app-engine-does-not-work-due-to-health-check-interval-even-t/42887051#42887051 – Dan Cornilescu Feb 28 '18 at 16:21

3 Answers3

2

This has popped up before, and I have not seen a solution. Seems like a bug in GAE. Here are some things to try:

1) Make sure you don't have some backend instance (which uses its own app.yaml) running.

2) Try:

health_check:
  enable_health_check: False
  check_interval_sec: 60
  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2

3) Shut down your instances and restart them.

GAEfan
  • 11,244
  • 2
  • 17
  • 33
1

Modyfing app.yaml in a way you did disables only one type of healthchecks, there are the backend ones still running and they are not accessible with app.yaml configuration. There are two issues created in Google's Issue Tracker related to this topic - you can track and/or star them here and here. What you can do is modifying the healthchecks via Cloud Shell to make them less agressive. Deploy a version with the healthchecks enabled (if you have them disabled right now) and list them:

$ gcloud compute https-health-checks list 

For viewing the current settings of the given healthcheck:

$ gcloud compute https-health-checks describe [healthcheck_NAME] 

Change the settings for the healthcheck with the name ending with "-hcs":

$ gcloud compute https-health-checks update [healthcheck_NAME] --check-interval=5 --healthy-threshold=2 --timeout=5 --unhealthy-threshold=2 

(obviously you can choose different values in the command above)

You can find the above commands in GCP docs here.

arudzinska
  • 3,152
  • 1
  • 16
  • 29
0

You have a typo in your app.yaml. You should use health_check instead of vm_health_check as in:

health_check: enable_health_check: False

András Kerekes
  • 1,001
  • 7
  • 13