Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
1COMM1T
/
Github-Action-Test
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
0
Pull requests
1
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Home
Jump to bottom
김동환 edited this page
Aug 20, 2024
·
18 revisions
리뷰
캠핑장 리뷰 조회 5분 간격
users 100
users 200
users 300
users 400
users 500
backend ec2
lb 대상 응답 시간
db ec2
lb 요청
리뷰 수정 5분 간격
users 100 / 1
users 100 / 10
users 200 /10
users 300 /10
backend ec2
lb 대상 응답 시간
db ec2
FAILURE
이슈
RPS가 저조함
USER 200부터 실패율이 크게 증가 ( 501, 504 에러 )
DynamoDB 처리에 문제 발생
응답 시간이 들쭉날쭉 함
분석
트랜잭션 어노테이션이 dynamoDB에서 온전하게 작동하지 않은 거 같음
한 번의 요청에 리뷰, 마이리뷰, 별점평균 총 3개의 테이블 연산이 포함된 것도 부하의 원인인 거 같음
조회 시 생성일로 정렬하는데, 생성일은 인덱스 설정이 되지 않아 조회 성능이 떨어지는 거 같음
개선 방안
DynamoDB의 TransactWriteItems 또는 TransactGetItems 작업 등을 시도
existsByUserIdAndCampId
메서드 성능 개선을 위한 userId, campId 복합 인덱스 고려
캐시 도입해서 캐시에서 값 변동 후 db 업데이트는 나중
리뷰 수정 과정에서 실행되는 각 과정의 실행 시간을 측정하여 병목 지점 파악
업데이트 요청 시 요청된 값들이 db나 캐시에 저장된 값과 일치하다면 리턴시키기
리뷰 아이디와 생성일 복합 인덱스 설정
캠핑장 리뷰 조회 5분 간격
users 100
users 200
users 300
users 400
users 500
backend ec2
lb 대상 응답 시간
db ec2
lb 요청
Wiki pages
Pages
1
Loading
Home
Uh oh!
There was an error while loading.
Please reload this page
.
Clone this wiki locally
You can’t perform that action at this time.