簡體   English   中英

如何使用appstats優化性能

[英]How to Optimize Performance with appstats

我在性能上有問題,我不知道它從哪里來。

createLogoutURL和第一個數據存儲區查詢之間的差距非常大……在以下代碼段之間:

loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));
...
ch.zhaw.ams.server.auth.user.User userAms = DatabaseHelper.findByParama(user.getEmail(), "emailAddress",
                    "String", ch.zhaw.ams.server.auth.user.User.class);

在此處輸入圖片說明

@Override
public GoogleLoginInfo login(String requestUri) {
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();

    GoogleLoginInfo loginInfo = new GoogleLoginInfo();

    if (user != null) {
        loginInfo.setLoggedIn(true);
        loginInfo.setEmailAddress(user.getEmail());
        loginInfo.setNickname(user.getNickname());
        loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));
        loginInfo.setIsGoogleLogin(true);

        ch.zhaw.ams.server.auth.user.User userAms = DatabaseHelper.findByParama(user.getEmail(), "emailAddress",
                "String", ch.zhaw.ams.server.auth.user.User.class);
        if (userAms != null) {
            loginInfo.setFirstname(userAms.getFirstName());
            loginInfo.setLastname(userAms.getLastName());
        }

        // Set Memcache
        try {
            SessionCache.setupCache(user.getEmail());
            loginInfo.setIsCached(true);
        } catch (CacheException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            loginInfo.setIsCached(false);
        }

    } else {
        loginInfo.setLoggedIn(false);
        loginInfo.setLoginUrl(userService.createLoginURL(requestUri));
    }
    return loginInfo;
}

有人知道為什么它這么慢嗎?

從好的方面來說,appstats已將其縮小為三行:

loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));

loginInfo.setIsGoogleLogin(true);

ch.zhaw.ams.server.auth.user.User userAms = DatabaseHelper.findByParama(user.getEmail(), "emailAddress",
            "String", ch.zhaw.ams.server.auth.user.User.class)

您可能會四處弄弄,並嘗試找出導致延遲的行。 我最好的猜測是這是您第一次加載ch.zhaw.ams.server.auth.user.User.class類。 此類可能導致其他類別加載。 您看到的長時間延遲可能只是類加載時間。

您可能可以添加啟動處理程序來加載其中的某些類,因此希望它很少出現,但是您會在GAE上看到很多關於Java類加載時間的抱怨。 這不是可以在GAE上完全解決的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM