django-imagekit的内存问题

时间:2018-04-08 21:43:28

标签: python django django-imagekit imagekit

我正在研究新闻聚合器,并使用django-imagekit创建新闻文章缩略图。

该应用程序托管在Heroku上。随着时间的推移,我注意到应用程序消耗的内存越来越多。目前,数据库中大约有8000个图像,与数据库中包含大约100个图像的临时应用程序相比,应用程序消耗的内存大约是其3倍。

我认为这个问题与django-imagekit有关。如果我在模板中调用原始图像,而不是由django-imagekit处理的图像,则内存会下降到正常水平。

模特:

#include "stdafx.h"
int main()
{
    int x;
    int y; 
    int z;
    //Namespaces are 'Mul' & 'Div'
    std::cout << "Please enter 3 numbers" << std::endl;
    std::cin >> x;
    std::cin >> y;
    std::cin >> z;
    std::cout << Mul::doTheMath(x, y, z);
    std::cout << Div::doTheMath(x, y, z);
    return 0;
}

模板示例:

class Article(models.Model):
    title = models.CharField(max_length=255)
    …
    photo = models.ForeignKey(Photo, blank=True, null=True, related_name='+', on_delete=models.SET_NULL)
    …


class Photo(models.Model):
    name = models.TextField()
    …
    photo = models.ImageField(upload_to='user/photos/%Y/%m/%d', max_length=255)
    …

    thumb = ImageSpecField(source='photo',
            processors=[resize.ResizeToFit(131, 131),],
            options={'quality': 90})
    thumbnail_image = ImageSpecField(source='photo',
            processors=[resize.ResizeToFill(100, 100),],
            options={'quality': 90})
    news_small = ImageSpecField(source='photo',
            processors=[resize.ResizeToFill(125, 94),],
            format='JPEG',
            options={'quality': 90})
    …

Settings.py

<a href="{{ item.get_absolute_url }}"><img src="{{ item.photo.news_small.url }}" alt=""></a>

在首页上,显示了大约25个缩略图。但是内存也在一个只显示一个图像的页面上跳转。

当前版本: Django的== 1.8.17 Django的imagekit == 4.0.2

django-imagekit预计会有如此高的内存消耗,还是我实现错了?我很感激任何建议。

0 个答案:

没有答案