Since you're only launching one worker process with foreman requests are 
essentially being handled serially. Try increasing the number of processes 
to achieve concurrency eg. web=4 or web=8. The number of processes to use 
depends generally on how CPU intensive your handler is and the number of 
cores per instance eg. if most of the time spent is blocking on some kind 
of I/O you can get away with using a much higher value. 

On Tuesday, August 9, 2016 at 1:31:12 PM UTC-4, Garrett Hunyadi wrote:
>
> It's pretty trivial.  I'm making the app as simple as possible at this 
> point.  I haven't changed the scaling from autoscaling, though I'm going to 
> run some tests to boost the app engine side to force more capacity and see 
> what that does. 
>
> runtime: ruby
> vm: true
> entrypoint: bundle exec foreman start --formation "$FORMATION"
> env_variables:
>   FORMATION: web=1
>
> I'll crosspost as well.
>
> Thanks for following up on this Adam!  I was starting to get lonely and 
> cry. ;)
>
>
> On Monday, August 8, 2016 at 12:24:27 PM UTC-4, Adam (Cloud Platform 
> Support) wrote:
>>
>> This seems like a good question to also cross-post to Stack Overflow for 
>> more visibility. Please see the main Community Support page 
>> <https://support.google.com/cloud/answer/3466163?hl=en> for a list of 
>> the tags we monitor.
>>
>> Would you mind sharing the details of your app.yaml configuration as a 
>> starting point?
>>
>> On Thursday, August 4, 2016 at 3:29:09 PM UTC-4, Garrett Hunyadi wrote:
>>>
>>> Hi.  I have a requirement to process ~20k calls per second. My system 
>>> processes lists of ~1M entries and performs multiple jobs for each item. 
>>>  It is very “bursty” in nature as it isn’t always processing a list.  I 
>>> added a App Engine flex env (with Rails), using automatic scaling, with an 
>>> test endpoint to wait 5 seconds and return.   I push to the pubsub topic 
>>> and a push subscription sends to App Engine.   Running this hits a steady 
>>> state of 20-30 requests per second.  
>>>
>>>
>>> I guessed that the problem was the interaction of the pubsub push volume 
>>> algorithm interacting with the App Engine, but then I ran a second test 
>>> where I just blasted curl requests as in a loop with multiple processes. 
>>>  This also ran at 20-30 rps.  
>>>
>>>
>>> I’m stuck at this point and wondering how to proceed. How can I 
>>> configure the system for higher performance? I need a performance of three 
>>> orders of magnitude from what I see.
>>>
>>>
>>> Thanks so much for helping! 
>>>
>>>
>>> -garrett
>>>
>>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/0158ba1c-de98-4cfe-89af-91597f9ac5a0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • [google-appengine] P... Garrett Hunyadi
    • [google-appengi... 'Adam (Cloud Platform Support)' via Google App Engine
      • [google-app... Garrett Hunyadi
        • [google... 'Adam (Cloud Platform Support)' via Google App Engine
          • [go... 'Adam (Cloud Platform Support)' via Google App Engine
            • ... Garrett Hunyadi
              • ... 'Adam (Cloud Platform Support)' via Google App Engine

Reply via email to