我正在研究新闻聚合器,并使用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预计会有如此高的内存消耗,还是我实现错了?我很感激任何建议。