Hi Stephen, Out of curiosity, were you simply going through the list one-by-one sending messages? Or, did you implement a more sophisticated fanout strategy? For example, did you break the list into sets of, say, ten users then insert a bunch of tasks to handle the sending?
Robert On Fri, Apr 8, 2011 at 15:33, Stephen Blum <[email protected]> wrote: > Jamie, > > I have experience with what you are describing Jamie while I was > building an IRC style chat client where multiple user are connected to > a chat room. When a user send a message I would loop through each > user connected in the channel and send them a message using > ChannelService.sendMessage(). This becomes slow as more users > connect. Because the Channel API does not scale with this > broadcasting pattern, I've changed to a service that specializes in > broadcasting called www.pubnub.com PubNub. The design pattern for > broadcasting works great with this service. All I need to do is > execute one function call with the intended message and every > connected user receives this message instantly. > > > On Apr 7, 11:22 am, Jamie <[email protected]> wrote: >> Given that the current quota for Channel creation is 95,040 per day, >> I'm looking into building a degradation path where I would use polling >> from the client side after a certain number of concurrent users have >> been reached. What I'm trying to figure out is where is cut-off point >> should be. >> >> How many concurrent channel connections can GAE handle in a performant >> manner? >> >> At a high level, this is how my app works: >> >> 1) Server receives an update from an external source. >> 2) Server notifies each connected client via the Channel API about >> this new update. This is currently done in a crude way by looping >> through all clients and sending the msg via >> ChannelService.sendMessage(). >> >> Given that my site is not very popular right now, it's hard for me to >> know if GAE's Channel API can handle a large number of concurrent >> channels. >> >> Does anyone have rough numbers or best practices in regards to this? >> >> Thanks, >> J > > -- > 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. > > -- 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.
