Hi Charles,

Your post is probably more appropriate for the Java mailing list.

You're using a static PMF which is good, because as you're seeing
there's a high cost to create one and spin up JDO.

What you'll probably see while you're starting out is that you have to
incur this startup cost a lot because your app doesn't generate enough
traffic for its JVM(s) to stay loaded in App Engine.  They'll
routinely get shut down after 30-60s of inactivity.  A summary of this
and other response-time-related Java issues is here -
http://groups.google.com/group/google-appengine-java/msg/dafc502f0957c58a

HTH,

James


On Mar 29, 7:03 pm, charles eubanks <[email protected]> wrote:
> Included is the source of my entire servlet.  When I run this servlet
> it says that I am using as much as
> {"totalCpu":3671926.973333333,"pmCpu":3671926.973333333}
>
> And to back up this my logs are telling me I am using a high amount of
> CPU ( > 4600cpu_ms) and may soon exceed my quota. .
>
> In any case am I doing something wrong?  It seems that if I am nearing
> my max quota just getting the PersistenceManager then something is
> just not right.
>
>  I am not a paying user yet if that makes a difference.
>
> Any clues for a newbie?
>
> Thanks,
>
> package reminder;
>
> import java.io.IOException;
> import java.util.logging.Level;
> import java.util.logging.Logger;
>
> import javax.jdo.PersistenceManager;
> import javax.servlet.ServletException;
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
>
> import org.json.simple.JSONObject;
>
> import com.google.appengine.api.quota.QuotaService;
> import com.google.appengine.api.quota.QuotaServiceFactory;
> import com.google.appengine.api.users.User;
> import com.google.appengine.api.users.UserService;
> import com.google.appengine.api.users.UserServiceFactory;
>
> public class NoopServlet extends HttpServlet {
>     /**
>          *
>          */
>         private static final long serialVersionUID = 1L;
>         private static final Logger log =
> Logger.getLogger(NoopServlet.class.getName());
>
>         @Override
>         protected void doGet(HttpServletRequest req, HttpServletResponse
> resp)
>         throws ServletException, IOException {
>         QuotaService qs = QuotaServiceFactory.getQuotaService();
>         long start = qs.getCpuTimeInMegaCycles();
>
>         JSONObject obj = new JSONObject();
>
>                 SubqUser sUser = null;
>         start = qs.getCpuTimeInMegaCycles();
>         PersistenceManager pm = PMF.get().getPersistenceManager();
>                   long end = qs.getCpuTimeInMegaCycles();
>                  double cpuSeconds = qs.convertMegacyclesToCpuSeconds(end - 
> start);
>                  obj.put("pmCpu", cpuSeconds);
>
>                    cpuSeconds = qs.convertMegacyclesToCpuSeconds(end - start);
>                    obj.put("totalCpu", cpuSeconds);
>                    System.out.println(this.getClass().getName()+" used  " +
> cpuSeconds+ " cpu seconds");
>                 resp.getWriter().print(obj.toJSONString());
>         }
>
>         @Override
>         protected void doPost(HttpServletRequest req, HttpServletResponse
> resp)
>         throws ServletException, IOException {
>                 // TODO Auto-generated method stub
>                 doGet(req, resp);
>         }
>
> }
>
> package reminder;
>
> import javax.jdo.JDOHelper;
> import javax.jdo.PersistenceManagerFactory;
>
> public final class PMF {
>     private static final PersistenceManagerFactory pmfInstance =
>         JDOHelper.getPersistenceManagerFactory("transactions-
> optional");
>
>     private PMF() {}
>
>     public static PersistenceManagerFactory get() {
>         return pmfInstance;
>     }
>
>
>
> }

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