我在谷歌应用引擎上有一个项目,有几个功能使用 驱动Java API。
此外,我正在使用" com.google.appengine.api.users.User;"
当我使用某些功能时,例如:createDocument:
public FileResponse createDocument(FileRequest file, @Named("visibility") @Nullable String visibility, User user) throws IOException, OAuthRequestException,
BadRequestException
{
Utils.validateAuthenticatedUser(user);
file.setValidator(new FileRequestValidator(FileRequestValidator.FileRequestType.CREATE));
file.validate(file);
Drive drive = new Drive.Builder(Globals.httpTransport, Globals.jsonFactory, Authenticator.credential(Constants.DRIVE_SCOPE, file.getDomainUser())).setApplicationName(
"My - APP").build();
File newFile = null;
try
{
Drive.Files.Insert insert = drive.files().insert(file.getFile());
if (visibility != null) insert.setVisibility(visibility);
newFile = insert.execute();
return new FileResponse(newFile);
} catch (Exception e)
{
logger.severe("An error occurred: " + e.getMessage());
throw new OAuthRequestException(e.getMessage());
}
}
此功能正常,但需要920 ms。有一种方法可以优化它吗?甚至为谷歌付出更多。
我们可以看到700毫秒的时间属于urlFetch
答案 0 :(得分:0)
您可以使用Appstats来分析应用程序的远程过程调用(RPC)性能。 RPC可以使您的应用程序运行缓慢。
为了确保您的应用程序快速,您需要知道:
Appstats通过允许您配置RPC调用来验证您的应用程序是否以最有效的方式使用RPC调用。 Appstats允许您跟踪给定请求的所有RPC调用,并报告每次调用的时间和成本。