Hacker News new | ask | show | jobs
by abritishguy 4049 days ago
>meaning each request must take substantially less than 10 ms

Correction, each request would need to have less than 10ms of CPU time - the instances support concurrency.

My web frontend, by design, does very little - any CPU heavy operations are done by other systems using the task queue. Writing it in golang has helped as well, wouldn't get that performance from python.

Write a simple Hello world example in golang and get it to do some mathematical calculations to simulate "work", I think you'll be surprised at how many requests a second you can squeeze out of a single instance.

1 comments

Yes, the 10 ms would be CPU time, not wall time.

But still, 10 ms really is not a lot on a 600 MHz machine. How long does your front end take to serve one request? How many qps do you serve from a single instance?

I have some go code with a trivial, completely unoptimized blog, rendering a couple of articles. Poking at appstats suggests I spend a bit more than 10 ms CPU time, App Engine reports ~30 ms CPU time.

Typical request: "X-AppEngine-Resource-Usage ms=259 cpu_ms=4"

That particular request is authenticated, writes a file to google storage, and then returns a response (with a few other things like logging etc.)