Closed vegeshop closed 3 years ago
Redis 캐싱을 적용한 결과 다음과 같이 동일환경 100회 load test를 0.2초만에 통과합니다.
10k회 load test에는 20초가 소요됩니다.
GET articles list를 100회 수행하는 시간은 90s에서 26s로 줄었습니다.
redis를 사용하려면
[mac]brew install redis
또는 [linux]sudo apt-get install redis-server
로
redis-server를 설치하고, 백엔드 서버 실행시 다른 터미널에서 redis-server
명령어로 캐싱 서버를 따로 실행시켜주셔야 합니다.
따라서 start-back.sh
파일에 다음과 같이 백그라운드에서 redis 서버를 가동하는 코드를 추가했습니다.
redis-server --daemonize yes
하지만 이 경우 django 서버를 중지하더라도 redis 서버는 중지가 되지 않습니다. redis 서버를 중단하고 싶으실 경우
[mac]redis-cli shutdown
명령어로 직접 중단하셔야 합니다.
localhost에서 loadtest로 GET /api/users/를 100회 시행하면 다음과 같이 35초가 걸립니다.
loadtest -n 100 http://127.0.0.1:8000/api/users/
user 데이터가 10개 이하임에도 불구하고 부하가 걸릴때 매우 느린 속도로 응답합니다. Redis를 이용해 캐싱을 할 필요가 있습니다.