If you are on a mult-threaded platform. you can achieve this by just adding
a Wait to the people you want to run slower. That will free CPU for the
other request.

 

When you go over 8 requests per instance this will have less effect, but
generally how it works is 

User 1 Process start:

                User 1 runs until you hit an API

User 2 Starts:

                User 2 runs until you hit an API

User 1 Resumes:

                User 1 runs until an API

User 2 resumes:

                User 2 runs until an API

User 1 finishes

User 2 finishes

 

If you insert Pause/wait/DoNothing   Spacers in your code that are condition
on the QoS of the user then the non-delayed user will get priority. 
I do a similar trick to make certain that low priority requests don't cause
high priority requests that are near the timelimit from finishing.

 

Better to know that you can serve 100 small tasks and only hit 75% CPU than
to have a big task drop because small tasks ate all the CPU.

 

From: [email protected]
[mailto:[email protected]] On Behalf Of David Hardwick
Sent: Thursday, July 26, 2012 8:17 PM
To: [email protected]
Subject: [google-appengine] Re: Differentiated service with Google App
Engine

 

If you put in a feature request to have more than one app access the same
datastore natively, then I will surely start that issue!

On Thursday, July 26, 2012 3:11:48 PM UTC-4, rerngvit yanggratoke wrote:

Hello,

       Anyone have an idea on how to achieve a differentiated service with
Google App Engine? I have two types of users. One is premium while another
one is free user. I would like to set different minimum latencies for firing
up new GAE instances between the two. In other words, I am willing to pay
extra for the traffic generated from the premium users. Nonetheless, for the
free users, I would prefer to pay at minimum or within the daily free quota
provided by Google. In my case, I expect that the free users are able to
tolerate higher latency than the premium ones. I believe that this case
should be quite general and apply to many people.

       Assuming that I can identify types of users by the URLs they use or
via other mechanisms. The only way I could think of is creating two
separated applications and letting the premium users access the one that
enables billing, while free users access the one that doesn't. However, my
free and premium users need to share the datastore because they are also
have to communicate within the application. Unfortunately, it seems that
sharing a datastore across applications is not possible at the moment (feel
free to correct me if I am wrong). 

 

Any ideas or suggestions?

 

Cheers,

Rerngvit

-- 
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine/-/cs1aYijZARwJ.
To post to this group, send email to [email protected].
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.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
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.

Reply via email to