Оптимизация обработки нескольких запросов в Django
Я пытаюсь построить простой REST API с помощью Django. Он работает очень хорошо, когда имеет дело с небольшим количеством запросов, но когда я издеваюсь над 100+ запросами одновременно, время ответа увеличивается с 0.3 секунд до 3-4 секунд. Я проверил время выполнения моего представления, и оно не превышает 0.1 секунды независимо от того, что происходит, что заставляет меня думать, что проблема в самой отправке ответа. Есть идеи, как это оптимизировать? Модель + представление, которые я использую:
class Permutation(models.Model):
id = models.AutoField(primary_key=True)
hash_code = models.TextField(null=False, unique=True)
all_permutations = models.TextField(null=False)
@api_view(['GET'])
def similarWords(request):
word = request.GET.get('word', None)
start_time = datetime.now()
if not word or not word.isalpha():
updateLogs(start_time)
print('invalid word')
return HttpResponse(status=400)
perm = Permutation.objects.filter(hash_code=getHashCode(word))
if not perm:
updateLogs(start_time)
return HttpResponse(json.dumps({'similar': []}), content_type="application/json", status=200)
else:
perm = perm.first()
permutations_array = perm.all_permutations.split(' ')
if word in permutations_array:
permutations_array.remove(word)
data = {'similar': permutations_array}
updateLogs(start_time)
return HttpResponse(json.dumps(data), content_type="application/json", status=200)