Not sure it will help any but hopefully you never know.

On Sun, Oct 2, 2011 at 3:16 PM, Bernd F <[email protected]> wrote:

> Hi Stephen,
>
> yes I switched to threadsafe on Sept 12th, because of the new billing
> policy, but that issue already happened before.
>
> I'll change my code to use the low-level MemcacheService instead of
> JCache immediately. With JCache I tried both: saving the instance in a
> static variable for reuse and creating the cache object on every
> request. I can tell you that there is no difference (at least with
> JCache) in cpu usage and servlet execution time.
>
> Thank you very much for your suggestion!!
>
>
>
> On 2 Okt., 23:24, Stephen Johnson <[email protected]> wrote:
> > You don't mention if you have threadsafe on. If so, you might be
> > experiencing some sort of deadlock or something with the way you are
> > creating your JCache on every request. I'd try moving away from JCache
> and
> > accessing the MemcacheService directly. I create a MemcacheService object
> > for each thread and reuse that object. I've had no problems/issues like
> > you've described but my QPS are probably not as much as yours. Here's
> some
> > sample code
> >
> >     private static ThreadLocal<MemcacheService> memcacheService =
> > newThreadLocal<MemcacheService>() {
> >
> >         protected synchronized MemcacheService initialValue() {
> >
> >             return MemcacheServiceFactory.getMemcacheService();
> >
> >         }
> >
> >     };
> >
> >     public static MemcacheService getService() {
> >
> >        return memcacheService.get();
> >
> >     }
> >
> > If you try switching to MemcacheService directly, please let us know if
> it
> > helps or not.
> >
> > Stephen
> >
> > CortexConnect.com
> >
> >
> >
> >
> >
> >
> >
> > On Sun, Oct 2, 2011 at 1:58 PM, Bernd F <[email protected]> wrote:
> > > Thank you for your input Jay, at least there is something I can cling
> > > to. Could you be a little bit more specific about this bad value.
> >
> > > What could that be? Or better said: Is that anything I can control?
> >
> > > Btw: After I set the Max Idle value to Automatic a few days ago it
> > > happened again (earlier today).
> >
> > > On 2 Okt., 20:27, Jay Young <[email protected]> wrote:
> > > > It sounds like you have a bad value in memcache and when a servlet
> hits
> > > it,
> > > > it blocks the instance that's executing it.  When you have multiple
> > > > instances running, other requests can be served by other instances.
>  When
> > > > you set it to 1, that one faulty instance gets backed up and requests
> > > start
> > > > timing out.  That's the only reason I can think of that clearing
> memcache
> > > > AND changing your # of instances would solve the problem.  It's like
> your
> > > > bad memcache value is a blockage in a stream.  Clearing memcache
> clears
> > > the
> > > > block.  Increasing the number of instances allows other requests to
> flow
> > > > around the block.
> >
> > > --
> > > 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.
>
>

-- 
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