🍟

DRF-ImageFieldパフォーマンス悪い時

2023/03/04に公開

内容

DRFのSerializerのImageFieldで定義して画像ファイルへのURLをレスポンスするときになんかパフォーマンス悪いかたのため。
僕自身同じ問題で2回ほど悩んだので備忘のために記事化

もしかしたらライブラリのせいかもしれないので言及やめてください。
使用ライブラリはこちら。2,3年前実装なのでもう古いのかもな。
https://github.com/matthewwithanm/django-imagekit

実装

models.py
class Demo(models.Model):
    image = models.ImageField(...)
serializers.py
class DemoSerializer(serializers.Serializer):
-    image = Imagefield(...)
+    # CharFieldを使用してURLを文字列でそのままレスポンスして改善
+    image = Charfield(...)

最後に

SQLクエリについては改善してもなんか遅くてハマってしまった。
注意やなぁ。。。
ちなみに30000msから500msくらいまで改善されました。

Discussion