0
私はGoogle Chromeコンソールのajaxリクエスト時間を見ています。 私はバックエンドで測定しましたが、mysqlクエリは5ミリ秒間実行されます。 Chromeのコンソールで私はthis pictureDjango + Gunicorn big TTFB time
TTFB時間333.07ミリ秒を参照してください。 私は9人のgunicornワーカー、DjangoフレームワークとRESTフレームワークを持っています。何がそんなに時間がかかるの?
例えば、 私の見解:
@api_view(['GET'])
def get_gallery(request, slug):
query = Gallery.objects.filter(route__slug=slug, route__is_active=True)
return JSONResponse(GallerySerializer(query, many=True).data)
class JSONResponse(HttpResponse):
"""
An HttpResponse that renders its content into JSON.
"""
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json; charset=utf-8'
super(JSONResponse, self).__init__(content, **kwargs)
は私のシリアライザ:
class GallerySerializer(ModelSerializerWithAuth):
image = serializers.ImageField(use_url=False)
thumb = serializers.ImageField(use_url=False)
class Meta:
model = Gallery
fields = ('id', 'image', 'thumb')
gunicornの設定:
bind = '127.0.0.1:9090'
errorlog = '/path/to/log'
timeout=120
user = 'user'
import multiprocessing
workers = multiprocessing.cpu_count() * 2 + 1
あなたはプロファイラを使用してみましたが使用するのですか? –
あなたのコードを見なくても、どうやってこの質問に答えるのですか?クリスタルボールを使うべきでしょうか? –
@NilsWerner、プロファイラとは何ですか? – MarinaaaniraM