我正在谷歌应用引擎上制作我的第一个应用程序。在我只是检查我的应用程序的正确结果之前。但后来我的应用程序开始响应很晚。然后我浏览了谷歌应用引擎文档,现在开始使用 appstats。我对此真的很陌生。我看了一个关于它的视频并得到了一些东西,但我仍然有点困惑。以下是我的应用程序中一个登录请求的图表:
以下是我的 LoginCheckServlet 的代码:
public class LoginCheckServlet extends HttpServlet {
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
HttpSession session = req.getSession(true);
PersistenceManager pm = PMF.get().getPersistenceManager();
try
{
List<User> result = null;
Query query = pm.newQuery(User.class);
query.setFilter("email == emailParam");
query.declareParameters("String emailParam");
result = (List<User>) query.execute(req.getParameter("email"));
if(result.size() == 0){
out.println(0);
}else{
String pwd = req.getParameter("password");
String userPwd = result.get(0).getPassword();
if(pwd.equals(userPwd)){
result.get(0).setActive(true);
session.setAttribute("email", result.get(0).getEmail());
session.setAttribute("name", result.get(0).getName());
out.println("1");
}else{
out.println("2");
}
}
}catch(Exception ex)
{
out.println(ex);
}
finally
{
pm.close();
}
}
}
根据谷歌应用引擎,查询需要大部分时间,大约为 50-100 毫秒。但在图中,总时间为 15167 毫秒。我的应用程序什么都不做(模板扩展)的时间由演示中的人调用,几乎是 140000 毫秒。我不明白那个模板扩展是什么,为什么我的应用程序需要大量的扩展?我怎样才能减少它?可能是一个基本问题,但我对此很陌生,我搜索过但找不到有用的东西。提前致谢。