【问题标题】:changing 'DEFAULT_FILE_STORAGE' causing high TTFB ( waiting time ) with boto3使用 boto3 更改 'DEFAULT_FILE_STORAGE' 导致高 TTFB(等待时间)
【发布时间】:2021-07-20 01:55:56
【问题描述】:

我的设置

...
AWS_ACCESS_KEY_ID = 'MY_KEY'
AWS_SECRET_ACCESS_KEY = 'MY_SECRET_KEY'
AWS_STORAGE_BUCKET_NAME = 'wallpapers'
AWS_S3_ENDPOINT_URL = 'https://sgp1.digitaloceanspaces.com'
AWS_S3_CUSTOM_DOMAIN = 'wallpapers.sgp1.cdn.digitaloceanspaces.com'

AWS_QUERYSTRING_AUTH = False

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
AWS_DEFAULT_ACL = 'public-read'

STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
MEDIA_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, 'media')
MEDIA_ROOT = 'media/'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
...

当我打开“http://127.0.0.1:8000/”时

这会导致高 TTFB...

但是当我在 settings.py 中注释掉/删除它时... #DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

然后一切正常

【问题讨论】:

    标签: python django amazon-s3 digital-ocean django-storage


    【解决方案1】:

    我意识到真正的问题是由模板标签引起的。

    <p>{{ my_img.width }}</p>
    

    所以为了获得存储在 MySQL 中的图像的宽度,它正在下载图像的块,然后计算尺寸。 为了克服这个问题,我在 model.py 中为图像高度和宽度添加了单独的字段。 有效!!! 我是 Django 的新手。这可能不是最好的方法。请让我知道以获得更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2015-04-19
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      相关资源
      最近更新 更多