1

I am using app.yaml file to configure my app engine flexible. The file looks like the following,

runtime: java
env: flex
service: hello-service
health_check:
  enable_health_check: True
  check_interval_sec: 10
  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2
automatic_scaling:
  min_num_instances: 3
  max_num_instances: 10
  cool_down_period_sec: 120 # default value
  cpu_utilization:
    target_utilization: 0.5

However, when I click the "view" link for the version list in the cloud console, I only can see the following in the popup,

runtime: java
env: flexible
threadsafe: true
automatic_scaling:
  min_num_instances: 3
  max_num_instances: 10
health_check:
  enable_health_check: true
  check_interval_sec: 10
  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2

As you can see, it is missing few "automatic_scaling" properties. I am not sure why. Do I need to stop and start the relevant version to see the changes?

Anthon
  • 69,918
  • 32
  • 186
  • 246
KayKay
  • 553
  • 7
  • 22

1 Answers1

1

It is most likely that the config values matching the default values are not displayed.

From the documentation the default values for the missing parameters:

cool_down_period_sec

The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The cool-down period must be greater than or equal to 60 seconds. The default is 120 seconds.

target_utilization

Target CPU utilization (default 0.5). CPU use is averaged across all running instances and is used to decide when to reduce or increase the number of instances.

The cpu_utilization is likely not displayed because target_utilization (the only item under it) dissapeared.

It should be easy to check - just change the values for the missing configs slightly, re-deploy and see if the updated values are remebered or not.

Dan Cornilescu
  • 39,470
  • 12
  • 57
  • 97
  • Thanks @Dan Cornilescu. However, when I change the values and re-deploy, some of the values are reflected but the others are reflected only after stopping and starting the app engine. Do I need to stop and start the app engine every time the app. is deployed? – KayKay Aug 22 '17 at 05:13
  • Not for the scaling parameters, which instruct the infrastructure, not a particular instance (an instance may have an older copy of the code, but so what?). The same *might* apply to the health check, but I'm not too sure about this. – Dan Cornilescu Aug 22 '17 at 13:16
  • It seems like the "check_interval_sec: 10" has not been considered by the app engine, because even after this setting the health checks requests are made for every second. Not sure what I am missing here. – KayKay Aug 22 '17 at 13:52
  • There were a couple of issues on this, donno if fixed. See [Deploying to Google App Engine does not work due to health check interval even though I am below the limit](https://stackoverflow.com/questions/42886929/deploying-to-google-app-engine-does-not-work-due-to-health-check-interval-even-t/42887051#42887051) and [Google App Engine health checks spamming app](https://stackoverflow.com/questions/42841697/google-app-engine-health-checks-spamming-app) – Dan Cornilescu Aug 22 '17 at 14:02
  • I have changed the default values and deployed, but still could not see the values in the "view" link against the app version. I have even tried stopping and starting the app engine, but still no luck. Also, the "enable_health_check" seems to be not considered at all and still the health check requests keep coming in. Is there any place where we can check this config. in the physical instance? Also, can we check the logs of the java app in the instance to see the root cause? – KayKay Aug 23 '17 at 14:54