Grigoryants Artem
Grigoryants Artem

Reputation: 1631

Disable default healthcheck on Google Cloud App Engine

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?

Upvotes: 2

Views: 5381

Answers (3)

arudzinska
arudzinska

Reputation: 3331

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.

Upvotes: 1

András Kerekes
András Kerekes

Reputation: 1001

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

Upvotes: 0

GAEfan
GAEfan

Reputation: 11360

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.

Upvotes: 2

Related Questions