Bu sorunu göstermek için basitleştirilmiş bir işleyiciye (aşağıda) görüntüleri yüklüyorum (her biri10MB). Bir F1 (128MB ram) örneğinde ~ 5 istekleri sunulduktan sonra bellek sınırını aştım: "6 istek toplamına hizmet ettikten sonra 152.414 MB ile yumuşak özel bellek sınırı aşıldı"App Engine dosya yükleme ve atama değişkeni X istemine sunulduktan sonra bellek kullanımı hatası nedenleri
Bir F2 (256MB ram) örneğinde I birkaç daha fazla istek almak değil, birçok:
import webapp2
class FileUploader(webapp2.RequestHandler):
def post(self):
test = self.request.get('file')
self.response.out.write('hi')
app = webapp2.WSGIApplication([('/leak-uploader-example', FileUploader)],
debug=True)
günlüklerinde metin önermek
başvurum olabilir:
Örnek kod "19 isteklerini servisten sonra 258,156 MB yumuşak özel bellek sınırı aşıldı toplam" bir bellek sızıntısı. Bir istek tamamlandıktan sonra sorun Python veya App Engine çöp toplama ile olabilir gibi görünüyor. Örneklerimin yalnızca birkaç istekten sonra sonlandırılmasını nasıl önleyebilirim?
güncelleme - Ben Webapp çerçevesini (yerine webapp2 ait) kullanılarak aynı davranışı görüyorum: "Toplam 6 isteklerini servisten sonra 143,121 MB yumuşak özel bellek sınırı aşıldı"
Bu, kullandığınız tam kod mu? Appengine ile ilgili endemik bir sorun olduğundan şüphe ediyorum. Aksi halde pek çok insanın bir sorunu olur. Tüm gün görüntüleri yükleyebilirim ve hafızam dolduramıyorum (webapp2 kullanmamama rağmen), ancak işlemim sizden çok daha karmaşık. –
Doğru, bunu çoğaltmak için doğru kod. Yüklenen dosyaya erişmek, bellek sızıntısına neden olmak için yeterlidir. Görüntü dönüşümleri yapıyordum ve Google Cloud Storage'a orijinal olarak yükleniyordum. Ancak, sorunları hala olan en düşük düzeyde düşürdüm. Ben bir webapp verdim ve aynı davranışı görüyorum (yukarıda eklenen webapp kodu). Dosyaları işleyicinize ne kadar hızlı yüklüyorsunuz? Dosyalar ne kadar büyük? – robertfischer
Webapp2'yi kullanmamayı önermedim. Daha fazla bilgi birikimi, tam açıklamanın yararına webapp2'ye dayanmıyor. Ben de webapp kullanmıyorum. Bütün işlerim tipik olarak piramit ve/veya bobo ile. –