【发布时间】:2018-03-11 11:51:47
【问题描述】:
所以我使用 Amazon S3 存储来存储用户上传的文件。当用户在我的 Django 网站上发帖时,它会附带一些文本和图像/视频 - 该图像/视频会上传到我的 S3 存储桶上的 media 目录。
但是这需要很长时间,例如在帖子中包含 6mb 的图片将花费一分钟以上的时间来提交。如果图像很小,例如150kb 提交帖子只需大约 3 秒。我怎样才能提高这个性能?
Post 只是一个包含以下字段的表单(image 是图像或视频):
class Post(models.Model):
user = models.ForeignKey(User, blank=True, null=True)
title = models.TextField(max_length=95)
date = models.DateTimeField(auto_now_add=True)
content = models.TextField(null=True, blank=True)
image = models.FileField(null=True, blank=True)
和意见:
def post(request):
if request.user.is_authenticated():
form_post = PostForm(request.POST or None, request.FILES or None)
if form_post.is_valid():
instance = form_post.save(commit=False)
instance.user = request.user
instance.save()
return HttpResponseRedirect('/home/')
else:
form_post = PostForm()
context = {
'form_post': form_post,
}
return render(request, 'post/post.html', context)
else:
return HttpResponseRedirect("/accounts/signup/")
有什么想法吗?
【问题讨论】:
-
在上传之前缩小图像文件或通过升级到更昂贵的合同来增加服务器的上游。
-
哪一栏向我展示了改进的上游性能?:i.imgur.com/RYY3P4D.png
-
无。它只显示音量。
-
看起来您正在使用 DigitalOcean。您应该适当地标记 DO 问题。
标签: python django amazon-web-services amazon-s3 digital-ocean