У меня есть проект в google-приложении, и есть несколько функций, используя API-интерфейс Java-интерфейса .Время отклика и оптимизация медленного отклика двигателя
Кроме того, я использую «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 мс. есть способ, которым я могу его оптимизировать? даже заплатить больше за Google.
мы можем видеть, что 700 мс время принадлежит UrlFetch
we can see here the time of the response:
Должно ли создание документа завершить до того, как пользователь получит ответ? Как правило, я задерживаю создание актива, предоставляя интерактивному пользователю первый ответ на HTTP, создавая документ в задаче. – Sniggerfardimungus
Благодарим за отзыв. да, наш пользователь ждет, пока документ будет готов, а затем, после получения ответа, он может войти в файл. – Amit
Отклика на пользователя зависит от содержимого созданного документа? Вы все равно можете создать документ в async-задаче и предоставить вызывающему агенту дескриптор, который позволит им получить доступ к новому документу, при условии, что создание закончится, прежде чем они попытаются получить к нему доступ. Если запрос приходит до завершения создания, запросчик может быть задержан в этой точке, а не во время начального вызова. – Sniggerfardimungus