How to change AppEngine standard max concurrent request for manual scaling?

Current appengine-web.xml:

*<?xml version="1.0" encoding="utf-8"?>*
*<appengine-web-app xmlns="http://appengine.google.com/ns/1.0";>*
*    <service>...</service>*
*    <runtime>java8</runtime>*
*    <threadsafe>true</threadsafe>*
*    <manual-scaling>*
*      <instances>1</instances>*
*    </manual-scaling>*
*    <instance-class>B2</instance-class>*

*    <precompilation-enabled>true</precompilation-enabled>*
*    <sessions-enabled>false</sessions-enabled>*
*    <warmup-requests-enabled>false</warmup-requests-enabled>*
*</appengine-web-app>*

What we have noticed is that manual scaling instances handle max 10 
concurrent requests and queues the rest of the concurrent requests if over 
10.

For appengine logs it is seen as the request comes in but when it enters to 
application code whenever there is an available request handler. 

For the request which is not queued, timestampd between the request 
entering the system and the first application code point is very near each 
other. 
*2020-11-03 09:34:36.247 EET GET 204 69 B 3.1 s Chrome 86 /valueflow/ping*
*2020-11-03 09:34:36.356 EET 
com.koivusolutions.shared.commons.logging.JavaLogger log: First filter:72 
(JavaLogger.java:17)*

For the request which is queued because of too much concurrency, timestamps 
between request entering the system and first application code point are 
far away from each other. 
*2020-11-03 09:34:36.247 EET GET 204 69 B 6 s Chrome 86 /valueflow/ping*
*2020-11-03 09:34:39.277 EET 
com.koivusolutions.shared.commons.logging.JavaLogger log: First filter:75 
(JavaLogger.java:17)   *


There is max-concurrent-requests setting but it is only for 
automatic-scaling. How to do the same for manual-scaling?

We tried to "emulate" manual-scaling by using with using automatic-scaling 
and settings min and max instances both as one like this:

    <automatic-scaling>
        <max-concurrent-requests>80</max-concurrent-requests>
        <target-throughput-utilization>.95</target-throughput-utilization>
        <max-instances>1</max-instances>
        <min-instances>1</min-instances>
    </automatic-scaling>
    <instance-class>F2</instance-class>

It allows more concurrency but still, sometimes there is a very long 
queuing time even level of concurrency is not near max

*2020-11-03 09:54:58.553 EET GET 204 69 B 17.2 s Chrome 86 
/valueflow/ping?sleep=3*
*2020-11-03 09:55:12.742 EET 
com.koivusolutions.shared.commons.logging.JavaLogger log: First filter:83 
(JavaLogger.java:17) *


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/344e2714-2af3-497c-a017-d5d1e664e590n%40googlegroups.com.

Reply via email to