Django, DRF, nginx, Jmeter: Sample Time becomes large even though there is no load on the CPU, etc

Viewed 91

I am using Jmeter to load test the DRF, and even though the CPU and memory are not at 100%, the throughput and response time is slow.

The Django + nginx and Postgres servers are separated, and both have the following specs 4CPU, 4GB memory.

nginx is using docker's https-portal as shown below.

version: "3"

services:
  https-portal:
    image: steveltn/https-portal:1
    ports:
      - "80:80"
      - "443:443"
    environment:
      DOMAINS: "my.domain.com -> http://backend:8000"
      STAGE: "production"
    volumes:
      - https-portal-data:/var/lib/https-portal
      - ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
      - ./static:/static
    depends_on:
      - backend
    restart: always

  backend:
    build: .
    command: uwsgi --http :8000 --module myapp.wsgi --processes 4
    volumes:
      - .:/usr/src/app
      - ./static:/usr/src/app/static
    expose:
      - 8000
    env_file:
      - .env
      - .env.prod
    restart: always

volumes:
  https-portal-data:

Looking at the django logs, there doesn't seem to be anything wrong with django, what do you think could be causing this? generated 8302 bytes in 29 msecs (HTTP/1.0 200) 7 headers in 208 bytes (1 switches on core 0)

Setting up Jmeter:

enter image description here

Django + nginx server: enter image description here

DB(postgres) server: enter image description here

After 5 minutes of continuous loading. enter image description here

If there is any other information you need, please let me know.

1 Answers
Related