On Thu, Aug 9, 2012 at 3:40 PM, Jeff Schnitzer <j...@infohazard.org> wrote:

> I think I mentioned this before, but there is no I/O in the problem.
> It just collects data in RAM (thousands of individual submissions) and
> waits for the reaper come get the entire set in one fetch.  This is
> why I do not expect concurrency to help.
>

I was just nitpicking because I thought "with a concurrency of 1" applied
to "Node.js servers" and not "the tests I ran", sorry for the
missunderstanding.


> Jeff
>
> On Thu, Aug 9, 2012 at 3:31 AM, Johan Euphrosine <pro...@google.com>
> wrote:
> >
> >
> >
> > On Thu, Aug 9, 2012 at 7:16 AM, Jeff Schnitzer <j...@infohazard.org>
> wrote:
> >>
> >> On Wed, Aug 8, 2012 at 5:44 PM, Waleed Abdulla <wal...@ninua.com>
> wrote:
> >> > Thanks, Jeff. Is it possible to repeat the test with qps < 10 to rule
> >> > out
> >> > the limit that Johan pointed out? In other words, how big is the
> >> > performance
> >> > difference if you had less requests that do more work?
> >>
> >> You must mean concurrency less than 10?
> >>
> >> I'm not really certain how concurrency relates to this.  All the tests
> >> I ran (Node.js, Twisted, Tornado, Simple) were nonblocking servers
> >> with a concurrency of 1.
> >
> >
> > <nitpick>
> > Actually those server/framework do support processing multiple request
> > concurrently, when one of the request handler/callback is doing I/O it
> can
> > process another request. (Just like the go backend I tested)
> > They just don't do parallelism (by default).
> > </nitpick>
> >
> >>
> >>  Maybe - just maybe - it would be possible to
> >> increase throughput by using multiple system threads up to the number
> >> of cores available... but then you would lose performance due to
> >> synchronization.  Probably significantly.  Optimal hardware
> >> utilization is one isolated, single-threaded, nonblocking server per
> >> core.
> >>
> >> I really don't know why backends are slow.  Maybe it has something to
> >> do with the request queueing system?  Throughput sucks even when
> >> backends are doing noops.  Maybe "increased concurrency" would allow
> >> more requests to travel through the queueing system at once... but
> >> it's hard to imagine this helping out the actual server process at
> >> all.
> >
> >
> > Increasing concurrency could help if you are I/O bound, but it will not
> help
> > if you are truly CPU bound.
> >
> > For a truly cpu-bound request, you are using as much cpu as the instance
> > class limit allows for all backends < B8, and half of the CPU limit for
> B8.
> > So with threadsafe: true, you can only process:
> > - 1 cpu bound request at a time on B1 B2 B4
> > - 2 cpu bound request at a time on B8
> >
> > If you are not completely CPU bound and idling between CPU burst then
> > increasing concurrency would help, just like if you were bound on I/O
> > operations.
> >
> > Hope that clarify the situation a bit.
> >
> >>
> >>  More timeslicing and synchronization on a cpu- and memory-bound
> >> problem will reduce performance, not improve it.
> >>
> >> Jeff
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "Google App Engine" group.
> >> To post to this group, send email to google-appengine@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> google-appengine+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >> http://groups.google.com/group/google-appengine?hl=en.
> >>
> >
> >
> >
> > --
> > Johan Euphrosine (proppy)
> > Developer Programs Engineer
> > Google Developer Relations
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Johan Euphrosine (proppy)
Developer Programs Engineer
Google Developer Relations

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to