5

私はグーグルアプリエンジンで私の最初のアプリを作っています。アプリの正しい結果を確認する前に。しかし、その後、私のアプリは本当に遅く応答し始めました。次に、Google App Engineのドキュメントを確認し、appstatsの使用を開始しました。私はそれが本当に初めてです。私はそれについてのビデオを見て、いくつかのものを手に入れましたが、それでも私は少し混乱しています。以下は、私のアプリでの1つのログイン要求のグラフです。

ここに画像の説明を入力してください

次に、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ミリ秒です。そして、私のアプリが何もしていない(テンプレート拡張)時間は、プレゼンテーションの男によって呼び出され、ほぼ140000msです。そのテンプレート拡張とは何か、そしてなぜ私のアプリがそれを大量に使用しているのか理解できません。どうすればそれを減らすことができますか?基本的な質問かもしれませんが、私はこれに非常に慣れていないので、検索しましたが、役立つものが見つかりませんでした。前もって感謝します。

4

1 に答える 1