2016-03-29 11 views
1

Google uygulama motorunda bir projem var ve Sürücü Java API'sini kullanarak çeşitli işlevler var.Uygulama motoru yavaş yanıt süresi ve optimizasyonu

Ayrıca, "com.google.appengine.api.users.User;"

i örneğin, bazı fonksiyon kullanıyorum: 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()); 
    } 
} 

Bu fonksiyon çalışıyor, ancak 920 üzerinde ms alır. onu optimize etmenin bir yolu var mı? Google'a daha fazla ödeme yapmak için bile.

vaktimiz 700 ms Uzaktan Yordam Çağrısı (RPC) Başvurunuzun performans profilleme için Appstats kullanabilirsiniz URLFetch

we can see here the time of the response:

+0

Belgenin oluşturulması, kullanıcı bir yanıt almadan önce bitmeli mi? Tipik olarak, varlığın oluşturulmasını geciktiririm, etkileşimli kullanıcıya önce http yanıtını vererek, belgeyi bir görevde oluşturabilirim. – Sniggerfardimungus

+0

Yanıt için teşekkür ederiz. Evet, kullanıcı belgeye hazır olana kadar beklemekte ve cevap aldıktan sonra dosyaya girebilmektedir. – Amit

+0

Kullanıcıya verilen yanıt, oluşturulan belgenin içeriğine bağlı mı? Belgeyi bir zaman uyumsuz görevde oluşturabilir ve arayana, oluşturma girişiminde bulunmadan önce oluşturma işleminin tamamlanması durumunda, yeni belgeye erişmelerini sağlayacak bir tanıtıcıya verebilirsiniz. İstek oluşturma işlemi tamamlanmadan önce gelirse istekte bulunan kişi, ilk arama sırasında değil, bu noktada gecikebilir. – Sniggerfardimungus

cevap

0

ait olduğunu görebiliriz. RPC uygulamanızın yavaş çalışmasını sağlayabilir.

hızlı başvurunuzu tutmak için, bilmek gerekir:

  • gereksiz RPC arama yapmak uygulamanız var mı?
  • Aynı verileri almak için tekrarlanan RPC çağrıları yapmak yerine verileri önbelleğe almalı mı?
  • Birden fazla istek seri olarak değil paralel olarak yürütüldüğünde uygulamanız daha iyi performans gösterecek mi?

Appstatlar, RPC çağrılarınızı profilinize göre profillemenize izin vererek RPC çağrılarını en verimli şekilde kullanıyorsa uygulamanızı doğrular. Appstats, belirli bir istek için tüm RPC çağrılarını izlemenize ve her aramanın zaman ve maliyetine dair raporlar oluşturmanıza olanak tanır.