[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-16 Thread Ben Nevile

Yes, it's clear that it is often convenient to complement GAE with a
server that's handling long-running processes, managing queues of
work, efficiently distributing messages, etc.  And your transactional
concerns seem valid, although it also seems like it should be possible
to create a new entity group/model type to represents the type of
contentious relationship that has you worried.  But I'm sure there are
lots of issues I haven't considered!

Thanks for the info.
Ben


On Nov 16, 12:10 pm, Josh Heitzman <[EMAIL PROTECTED]> wrote:
> The lack of any long running server side process also precludes doing
> any real time MMOGs.  With many turn based web based MMOGs there is no
> way to partition the game state into entities such that executing all
> player commands only requires updating entities in one entity group
> during the execution of the command, so its necessary to implement a
> cross-entity group transaction layer on top of the GAE datastore, but
> its currently unclear to me that this can actually be done while
> staying under GAEs quotas.
>
> On Nov 16, 11:52 am, Ben Nevile <[EMAIL PROTECTED]> wrote:
>
> > HiRoss,
>
> > > Well, Google App Engine would be a terrible place to serve most
> > > massively multiplayer games.  I hope that's not what got you
> > > interested in GAE.
>
> > Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG.
> > Why would GAE be a terrible place to serve these? The type of
> > communication required?
>
> > Ben
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-16 Thread Josh Heitzman

The lack of any long running server side process also precludes doing
any real time MMOGs.  With many turn based web based MMOGs there is no
way to partition the game state into entities such that executing all
player commands only requires updating entities in one entity group
during the execution of the command, so its necessary to implement a
cross-entity group transaction layer on top of the GAE datastore, but
its currently unclear to me that this can actually be done while
staying under GAEs quotas.

On Nov 16, 11:52 am, Ben Nevile <[EMAIL PROTECTED]> wrote:
> Hi Ross,
>
> > Well, Google App Engine would be a terrible place to serve most
> > massively multiplayer games.  I hope that's not what got you
> > interested in GAE.
>
> Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG.
> Why would GAE be a terrible place to serve these? The type of
> communication required?
>
> Ben
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-16 Thread Ben Nevile

Hi Ross,

> Well, Google App Engine would be a terrible place to serve most
> massively multiplayer games.  I hope that's not what got you
> interested in GAE.


Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG.
Why would GAE be a terrible place to serve these? The type of
communication required?

Ben
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-15 Thread Anders

I guess it's difficult to do a really accurate scalability test for
simulating a huge number of simultaneous users.

I heard one interesting comment in a video (don't remember which
video) about Google App Engine though. To make an accurate load test
on Google App Engine it has to be done over a period of time that
allows Google App Engine to spawn new server instances. To just go
from small load to suddenly hitting the App Engine with a massive
number of hits will not give an accurate results since the App Engine
must be given some time to adapt to the increased load (to spawn new
server instances).

I can imagine something like a binary tree of servers. At low load
only one server is handling requests. When the load increases above a
certain threshold then two new servers are activated to handle
requests, and so on in a binary tree fashion. This is just a guess.
How the scalability is done in GAE may be something entirely
different, but as I understand it GAE has some form of gradual growth
of scalability.
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-15 Thread boson


On Nov 9, 2:21 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> Personally, I'd be more concerned about reliabilty than scalabity.
> Not all of Google service's have a great track record in that respect.

I agree:  reliability is even more important than scalability.  So far
GAE has unfortunately appeared fairly unreliable (particularly for me
with uploading new app versions).

Hopefully though we can pursue metrics for reliability and scalability
simultaneously, and hopefully the Google team is concurrently seeking
to improve both.


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-15 Thread boson

David,

It sounds like a very interesting and useful experiment you're
contemplating.  I can't figure out why some people are so negative on
this, unless they're insiders and afraid of some unfortunate truths
being discovered, which I certainly hope is not the case.  This is
about discovery and the pursuit of knowledge, in the context of a
brand new and exciting technology platform.  What in the world is
wrong with that?

It may be that your specific 3 tests aren't everybody's ideal tests to
run.  Then how about people suggest other tests instead of shooting
down the whole idea?  And it is most definitely NOT necessary to build
a complex application to do benchmarking comparisons. In fact it would
be counter-productive to do so, as it would take extra development
time and make identifying actual bottlenecks cumbersome.

Please continue your work and share the results with us.  I'm sure the
non-vocal majority will appreciate the fruits of your labor, and I
hope the vocal minority can try to be constructive in their
criticisms.


On Nov 7, 11:59 am, David Underhill <[EMAIL PROTECTED]> wrote:
> I have read all about GAE, watched the interesting Google I/O videos,
> and written some simple (toy) applications.  Now, I would really like
> to be able to demonstrate to myself, with a simple toy application,
> that GAE can out-scale what a single dedicated host can do.
>
> When I set off on this experiment, I was expecting it to be easy to
> demonstrate that GAE can handle some request pattern which my PC
> (temporarily running as a LAMP [with mod_python] box) would grind to a
> halt on.
>
> Perhaps my results are just an artifact of the current quotas, but
> more likely my test applications are stressing scalability in the
> directions GAE scales.  I'll describe my current approach and let
> people here help point in the right direction (hopefully).  I use a
> program like htttperf to spawn requests from a cluster of (~20)
> machines.  I specify a page to request, the target request per second
> rate, and the duration of the test.  I also specify a time period over
> which the requests per second rate grows linearly from 0 to the
> target.  I'm currently trying parameters in the range of 10-20 reqs/
> sec for a duration of a few minutes after a ramp-up of a few minutes.
>
> I have tried this with three separate toy applications:
>    1) A python script which sleeps, say for 0.1sec, then returns a
> trivial page.  This was a silly idea b/c the PC simply spawns tons of
> processes which are doing nothing and easily keeps up with even quite
> high reqs per sec.  GAE dies much sooner since sleeping seems to count
> against your CPU time.
>
>    2) A python script which generates a random number through an
> process which is intentionally slow -- so that it takes about 0.1sec
> on both my PC and GAE for an individual request.  At >20 reqs/sec, it
> seems like the (dual-corE) PC should die as requests come in faster
> than it can handle them while GAE should be able to scale -- but GAE
> ends up going over quota.  Maybe I need to revisit the ramping up
> process and make sure it is really working like I think?
>
>    3) Use a DB with string-integer pairs.  The strings are an average
> of 50B.  Have a python script which queries for the first N records
> greater than some random string.  Then return the sum of some of the
> integers from these N records (randomly chosen).  The PC is running
> MySQL and does the same select, and does the summation by iterating
> over the N records like the GAE app to be "fair" (SQL could probably
> be even faster by doing the aggregation in the query rather than in
> python).  With N=20 and the DB having about 300k records, GAE
> unfortunately times out while the PC version is almost instantaneous
> (for individual requests).
>
> What ideas do you have for demonstrating that GAE can scale better
> than PC, at least under certain conditions?  I have no doubt that I'm
> missing something.  For now, I'm going to focus on the ramp-up portion
> and make sure that's working correctly, though I imagine there are
> probably better approaches than the above three for trying to
> demonstrate this and I'd love to hear your thoughts.
>
> :)  Thanks.
>
> ~ David
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-09 Thread Ross Ridge

Andy Freeman wrote:
> Guido mentioned at Stanford that some Google developers are starting
> to use GAE for various things, so "largely based" could eventually be
> true (for some services), but is it true now?

My understanding is that Google started moving all the projects from
SQL-based solutions to Bigtable solutions years ago.  From an internal
prospective, GAE would just be a new higher-level alternative to using
BigTable directly.

> Beyond that, what parts of GAE do you think reuse existing google
> software?

There's Google Front End, parts of Google Apps, the anti-bot software
that occasionally causes problems... but it's more than just the
software that important here.  We know they can scale the hardware if
necessary too. The fact that the datastore runs on BigTable which runs
on GFS mean that we know that it can grow to an enormous size.  They
should be able scale infrastructure far beyond what GAE runs on now
because they've already done it with similar technology.

This doesn't mean GAE will be able to scale, that something new or
different won't be a bottleneck that other Google services didn't
have.  However, I think a lot of Google's confidence that GAE can
scale comes the fact it is built on technology that has proven it can.

Personally, I'd be more concerned about reliabilty than scalabity.
Not all of Google service's have a great track record in that respect.

   Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-09 Thread Andy Freeman



On Nov 9, 12:25 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> I doubt they exist.  I think their faith in GAE's ability to scale
> originally came from the fact that it's largely based on the same
> technology that has allowed Google Search and other Google services to
> scale.

Guido mentioned at Stanford that some Google developers are starting
to use GAE for various things, so "largely based" could eventually be
true (for some services), but is it true now?

For example, Google search predates Bigtable and GFS.  Bigtable may be
used now for crawl infrastructure, but I doubt that it's used to serve
queries.  I very much doubt that any other search code is shared by
GAE.

Other google apps are built on Bigtable.  Picasa may be the source of
the PIL infrastructure (PIL requests are farmed out to a photo-manip
server farm).

Beyond that, what parts of GAE do you think reuse existing google
software?

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-09 Thread Ross Ridge

Jon Watte wrote:
> Clearly not. That was just an example of where claims of scalability
> by a vendor, and actual scalability, as observed, differ, because it
> appears that some messages in this thread imply that we take the
> scalability of GAE for granted, rather than measure it ourselves.

I don't see where any message in this thread suggested you take
scalability of Goolge App Engine for granted.

> Right. There are a number of typical workloads that could be put into
> benchmarks to show that "when the workload is X, it will scale like
> Y."

I have hard time seeing how you can come up with a set of "typical"
workloads that would be applicable to more than a narrow set of
applications.  That's why I think you need to do your own testing and
not rely on someone elses.

Unfortuantely though any testing you could do now would quickly run
against the free preview limits.  With those limits imposed GAE is
just like a single PC, it doesn't scale.

> If nothing else, then the GAE people should have some internal
> benchmarks (or else how do they know enough to claim it will scale?)

I doubt they exist.  I think their faith in GAE's ability to scale
originally came from the fact that it's largely based on the same
technology that has allowed Google Search and other Google services to
scale.  So far it's worked, and allowed GAE to scale to its current
size.  GAE itself is in essence one big gaint app, the sum total of
all its applications.  Every application shares the same datastore,
the same servers, the same network infrastructure and they all need to
scale to handle every GAE application, not just the largest one.

My concerns about the fundamental ability of GAE to scale are mainly
with the one part of GAE is that apparently is new, the datastore
indexes.  I don't know enough about how they're updated, locked/
versioned to be sure that they can't cause unforseeable contention
problems.  Other than that, I'd be mainly concerned whether there
anything fundamental about my app that would prevent it from scaling
on GAE.

  Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-09 Thread Jon Watte



On Nov 8, 11:03 am, Ross Ridge <[EMAIL PROTECTED]> wrote:

> > For example, Sun claims that Project Darkstar will let you scale your
> > massively multiplayer server infrastructure.
>
> Well, Google App Engine would be a terrible place to serve most
> massively multiplayer games.  I hope that's not what got you
> interested in GAE.

Clearly not. That was just an example of where claims of scalability
by a vendor, and actual scalability, as observed, differ, because it
appears that some messages in this thread imply that we take the
scalability of GAE for granted, rather than measure it ourselves.

> > If you're about to develop a real application to be used by real
> > people, knowing whether a vendor's claims about scalability are
> > actually applicable to your technology is a pretty useful metric.
>
> Which is why your test case needs to be realistic, otherwise it won't

Right. There are a number of typical workloads that could be put into
benchmarks to show that "when the workload is X, it will scale like
Y." If nothing else, then the GAE people should have some internal
benchmarks (or else how do they know enough to claim it will scale?)

A simple benchmark would be to emulate the "wall" of Facebook. Let
users add short messages to other users. In this case, the two
operations are:
1) user X adds message to user Y, which records the message, the time,
the source, and the destination
2) user X checks messages, which selects all messages to user X,
ordered by time descending, paginated to 20 messages at a time
Build it on GAE with BigTable; build it on LAMP with SQL, and build it
on ECC with SimpleDB, and compare the response times and other
behavior across different amounts of load. This would give us, the
community, something to compare and consider. The application uses
some of the basic operations that most applications will need, yet is
simple enough that you can write it in an afternoon and won't get
bogged down in minutiae when analyzing it, and it would allow us to
point at the test and say "on application X, it scales like Y, whereas
a single LAMP scales like Z and ECC scales like W."

Given that the original posted claimed to have a cluster of 20 boxen
to serve as load generators, I assume he has the necessary resources
to do this, should he choose to. I know that I would be very
interested in seeing the results.

Sincerely,

jw

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-08 Thread Ross Ridge

Jon Watte wrote:
> I agree. The GAE team claims that GAE scales. Do we just take their
> word for it?

I wouldn't.

> Or is there some independent verification we can perform
> on ourselves that we can point at and say "just run XYZ.py and you'll
> see it for yourself" ?

Nope.  As I said before, it's much more difficult than that.
Ultimately, the only way you can verify if any solution will scale the
way you want it to is to run a full scale test.

> For example, Sun claims that Project Darkstar will let you scale your
> massively multiplayer server infrastructure.

Well, Google App Engine would be a terrible place to serve most
massively multiplayer games.  I hope that's not what got you
interested in GAE.

> If you're about to develop a real application to be used by real
> people, knowing whether a vendor's claims about scalability are
> actually applicable to your technology is a pretty useful metric.

Which is why your test case needs to be realistic, otherwise it won't
be applicable to any real applicaiton.  And no single test case can be
applicable to all applications.

>Sincerely,
>
>jw

Ah, it is you.

   Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-08 Thread Ross Ridge

Andy Freeman wrote:
> "Scalability" is something of a red-herring.  It doesn't matter if a
> PC scales if GAE tops out before said PC.

If scalability is what's under consideration, then it matters because
it means neither solution will scale.

> Why GAE appears to be topping out for this
> application seems like a good thing to find out.

What application?  What does it need to do?  What sort of usage will
it get?  How does it need to scale?  Does it even need to scale?

A good thing to find out is if the real application you're considering
to run on Google App Engine would be better off hosted there or
somewhere else.

 Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-08 Thread Jon Watte


I agree. The GAE team claims that GAE scales. Do we just take their
word for it? Or is there some independent verification we can perform
on ourselves that we can point at and say "just run XYZ.py and you'll
see it for yourself" ?

For example, Sun claims that Project Darkstar will let you scale your
massively multiplayer server infrastructure. Unfortunately, the
database back-and is structured such that you can't put your game
simulation into the actual darkstar engine (it won't keep up) -- and
the current implementation of Darkstar makes the overall throughput
for the entire system go *down* when you add server nodes. So, they
claim that at some point they will scale, but currently, they don't.
If you're about to develop a real application to be used by real
people, knowing whether a vendor's claims about scalability are
actually applicable to your technology is a pretty useful metric.

Sincerely,

jw



On Nov 8, 8:09 am, Andy Freeman <[EMAIL PROTECTED]> wrote:

> "Scalability" is something of a red-herring.  It doesn't matter if a
> PC scales if GAE tops out before said PC.  Why GAE appears to be
> topping out for this application seems like a good thing to find out.


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-08 Thread Andy Freeman

The word "scalability" seems to have been a hangup.

Instead, if you'd said "a LAMP version of {application} running on a
single PC can handle {amount} load and a comparable GAE version can
handle {amount} load", folks would have focussed on the relative
amounts and we'd be talking about how to increase them.  There would
have been some quibbles about the capacity of the PC, network latency,
and the like, but I think that the conversation would have been more
productive than "GAE scales and a PC doesn't".

"Scalability" is something of a red-herring.  It doesn't matter if a
PC scales if GAE tops out before said PC.  Why GAE appears to be
topping out for this application seems like a good thing to find out.

On Nov 8, 2:13 am, David Underhill <[EMAIL PROTECTED]> wrote:
> The process of creating a toy application to test its limits can be
> interesting in and of itself.  It obviously isn't necessary to
> understand the limitations and advantages of GAE, but one might also
> learn something.  For me, experimenting with how GAE can scale has
> been an interesting thought experiment.
>
> All the best,
>
> ~ David
>
> On Nov 7, 8:17 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
>
>
>
> > David Underhill wrote:
> > > Exactly.  It is just a simple thought experiment.
>
> > It seems utterly pointless to me.  Google App Engine has the potential
> > to scale, a single PC doesn't.  There's your thought experiment.  You
> > haven't observed anything about GAE's scalability by testing the
> > performance of a PC.  (Which I thought was real, not imaginary.)
>
> >                     Ross Ridge- Hide quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-08 Thread David Underhill

The process of creating a toy application to test its limits can be
interesting in and of itself.  It obviously isn't necessary to
understand the limitations and advantages of GAE, but one might also
learn something.  For me, experimenting with how GAE can scale has
been an interesting thought experiment.

All the best,

~ David

On Nov 7, 8:17 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> David Underhill wrote:
> > Exactly.  It is just a simple thought experiment.
>
> It seems utterly pointless to me.  Google App Engine has the potential
> to scale, a single PC doesn't.  There's your thought experiment.  You
> haven't observed anything about GAE's scalability by testing the
> performance of a PC.  (Which I thought was real, not imaginary.)
>
>                     Ross Ridge
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Ross Ridge

David Underhill wrote:
> Exactly.  It is just a simple thought experiment.

It seems utterly pointless to me.  Google App Engine has the potential
to scale, a single PC doesn't.  There's your thought experiment.  You
haven't observed anything about GAE's scalability by testing the
performance of a PC.  (Which I thought was real, not imaginary.)

Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Ross Ridge

Peter Recore wrote:
> Does the app engine team share any stories they can share about
> internal load tests they've done, and how many millions of
> simultaneous requests their app was serving?

Well, they have been touting case studies recently, including that of
BuddyPoke with its 30 million page views a day.  It's not millions of
simultaneous requests, but it's more than what a lone PC can handle.

Testing the scalability of Google App Engine is hard to do.  You need
a realistic test app and you need realistic requests.  In particular
you need a test scenario that reflects the sort of datastore
contention you're likely to have.  You won't get a lot of requests to
update the same user's preferences simulataneously, but could you get
a lot of requests to update the preferences of a bunch of different
users.  Once you got that you can try one simulataneous request, and
then slowly increase the number until you hit a quota limit.  If you
don't get a lot of datastore timeouts, and the average request time
doesn't explode, then you can have some confidence that your real app,
the one the test app represents, can scale to handle any number of
users

Ross Ridge


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread David Underhill

On Nov 7, 6:24 pm, Peter Recore <[EMAIL PROTECTED]> wrote:
> Here's my take on what David is really asking:
>
> Is there any black box test we as users can design, right now, to
> prove app engine can handle higher loads than a commodity PC.
>
> While it may not be super useful, it is an interesting thought
> experiment.

Exactly.  It is just a simple thought experiment.

Obviously GAE (especially the free version) isn't meant to handle
individual requests which are heavy.  It is also pretty clear that a
commodity PC can only do so much.  It is just an interesting
experiment to find a toy application which demonstrates that GAE does
out-scale such a simple PC.
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Josh Heitzman

Its useful in so far as having something to compare GAE against (i.e.
can a single commodity machine serve up more requests per second then
an app deployed on GAE's infrastructure).

On Nov 7, 5:49 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> I don't see why you think testing the scalability of a single PC is
> useful.  It will hit some limit or another and then start dropping
> requests.  That means any solution limited to using just one PC has
> *no* scalability.

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Peter Recore

Here's my take on what David is really asking:

Is there any black box test we as users can design, right now, to
prove app engine can handle higher loads than a commodity PC.

While it may not be super useful, it is an interesting thought
experiment.

For all we know, each of our apps is running on a PC in marzia's
basement :)

Does the app engine team share any stories they can share about
internal load tests they've done, and how many millions of
simultaneous requests their app was serving?

On Nov 7, 8:49 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> David Underhill wrote:
> > Fair enough -- so would a better test mean a database with many fewer
> > rows?
>
> No.
>
> > Then the reqs/sec would have to be pretty high to stress out
> > the PC doing simple queries ... but still seems like it should be
> > possible in principle.
>
> I don't see why you think testing the scalability of a single PC is
> useful.  It will hit some limit or another and then start dropping
> requests.  That means any solution limited to using just one PC has
> *no* scalability.
>
> If you're really asking if it would be better to host your application
> on a PC in your basement or on Google App Engine, then it depends on
> what your application does.  If your application needs to scale to
> handle an unbounded number of requests then GAE is likely to be the
> better choice.  If your application is compute heavy or needs to
> perform a complex series of queries and updates then GAE may not be
> able to handle a single request.
>
>                     Ross Ridge
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread yejun

Without knowing underlying cost, it's kinda pointless to compare them.
You don't know what kind high end routers, servers and network google
actually use for GAE and how much development cost per each GAE
account.
Some data maybe possible to be extrapolated from the price list
published in May.


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Ross Ridge

David Underhill wrote:
> Fair enough -- so would a better test mean a database with many fewer
> rows?

No.

> Then the reqs/sec would have to be pretty high to stress out
> the PC doing simple queries ... but still seems like it should be
> possible in principle.

I don't see why you think testing the scalability of a single PC is
useful.  It will hit some limit or another and then start dropping
requests.  That means any solution limited to using just one PC has
*no* scalability.

If you're really asking if it would be better to host your application
on a PC in your basement or on Google App Engine, then it depends on
what your application does.  If your application needs to scale to
handle an unbounded number of requests then GAE is likely to be the
better choice.  If your application is compute heavy or needs to
perform a complex series of queries and updates then GAE may not be
able to handle a single request.

Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Alexander Kojevnikov

> Fair enough -- so would a better test mean a database with many fewer
> rows?   Then the reqs/sec would have to be pretty high to stress out
> the PC doing simple queries ... but still seems like it should be
> possible in principle.

I would set up a Kind with a lot of entities (100K+) and ran a query
that just returns a few of them (~20) using a composite index (2-4
fields). This should look like an average datastore hit by an average
web app.

Nevertheless, I like what you are doing. Please keep us updated!
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread David Underhill

On Nov 7, 1:21 pm, Ross Ridge <[EMAIL PROTECTED]> wrote:
> The problem with your first two tests is that they scale easily in any
> environment.  Just add more servers as necessary.

True, but adding extra servers starts to get complicated -- something
GAE gives you for free.  The test seems (superficially at least) to be
reasonable when GAE is pitted against a single server.

> The problem with the third test is that it tests how complex of a
> query can be handled in a single request.  Google App Engine allows
> your app  scale to handle millions of requests.  It doesn't help your
> app handle bigger and bigger queries.

Fair enough -- so would a better test mean a database with many fewer
rows?   Then the reqs/sec would have to be pretty high to stress out
the PC doing simple queries ... but still seems like it should be
possible in principle.

~ David
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Observing GAE Scalability (or trying to ...)

2008-11-07 Thread Ross Ridge

David Underhill wrote:
> What ideas do you have for demonstrating that GAE can scale better
> than PC, at least under certain conditions?

The problem with your first two tests is that they scale easily in any
environment.  Just add more servers as necessary.

The problem with the third test is that it tests how complex of a
query can be handled in a single request.  Google App Engine allows
your app  scale to handle millions of requests.  It doesn't help your
app handle bigger and bigger queries.

Ross Ridge

--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---