부하테스트. 기능 점검
---버그 list 추가---
1.. 배포판에서 ai기능 확인중
2. sleep-> 처음 조회하니까 기다려라 -> 완료처리 해야함. -> 트래픽 몰리면 생길 수 있는문제
일단 기능 추가는 뒤로두고 ai에 집중하고 이력서를 먼저 쓰자.
오류나는건 추후 todolist로
최신 분석 리포트 사이트 링크
order101에 추가 기능 고민할거 -> 발주서 이미지 넣으면 자동으로 문서화?
향후 넣을 기능
1. 코스피 코스닥 실시간 지수 + 웹소켓
2. 커뮤니티 의견 분석 LLM
3. 종목별 '투자 심리 온도계' (Alternative Data)
뉴스, 커뮤니티(종토방), SNS에서 언급되는 양과 긍부정 비율을 분석해 공시 분석 결과와 대조합니다.
구현 내용: 1. 네이버 뉴스, 팍스넷 등의 텍스트 데이터를 수집하여 언급량 변화(Volume Spike) 감지.
2. AI가 분석한 '공시의 가치'와 실제 대중의 '반응' 사이의 괴리율 계산.
개발 포인트: 비동기 크롤러(Scrapy, Playwright), 대량의 텍스트 데이터를 처리하기 위한 메시지 큐(Kafka/RabbitMQ) 도입.
Airflow 같은 도구로 매일 새벽 데이터를 수집/가공하는 배치를 돌리고,
그 결과물을 Redis에 캐싱해서 API 속도를 0.1초 미만으로 뽑아내는 모습을 보여주면 "백엔드 제대로 짰다"는 소리를 들으실 겁니다.
이것들 맘에드는데
1. 실시간 차트 렌더링 및 데이터 서빙 병목
현재 차트가 30개 봉 정도를 보여주고 있는데, 만약 사용자가 늘어나고
- 문제점: 사용자가 페이지를 새로고침할 때마다 무거운 시계열 데이터를 SQL로 쿼리하면 DB CPU 점유율이 치솟습니다.
- 개선안: * Redis Caching: 최근 주가 데이터와 차트 데이터는 Redis에 Sorted Set 형태로 캐싱하여 DB 조회를 0으로 만드세요.
- InfluxDB/TimescaleDB: 시계열 데이터 전용 DB를 도입해 데이터 압축률과 조회 속도를 확보하는 모습을 보여주면 "성능 좀 아는 개발자" 소리를 듣습니다.
2. AI 리포트 생성 및 전달의 'Latency'
공시가 뜨고 나서 AI가 분석하고 UI에 나타나기까지 시간이 걸릴 겁니다.
- 문제점: 사용자가 리포트 페이지에 들어왔는데 "분석 중..."이라는 메시지만 오래 떠 있으면 이탈율이 높아집니다.
- 개선안:
- Pre-fetching & Async: 공시가 발생하자마자 백그라운드 워커(Celery/RQ)가 미리 분석을 완료해 DB에 박아두어야 합니다.
- WebSocket/SSE: 분석이 완료되는 즉시 사용자가 새로고침하지 않아도 화면에 리포트가 '툭' 튀어나오게 구현하세요. HTTP Polling 방식은 성능 낭비입니다.
3. 정형/비정형 데이터 결합 시 쿼리 복잡도
공시 텍스트(비정형)와 주가 수치(정형)를 조인해서 "주가 급등 시점의 공시"를 찾으려면 쿼리가 매우 복잡해집니다.
- 문제점: LIKE 검색이나 복잡한 JOIN은 인덱스를 타지 않아 검색 속도가 처참해집니다.
- 개선안:
- Elasticsearch 도입: 리포트 본문 검색과 키워드 필터링을 ES로 분리하세요. "공시 본문 내 특정 단어 포함 + 특정 주가 범위" 검색을 0.1초 내에 끊는 게 핵심입니다.
4. API 서버의 Stateless 및 확장성 (Scalability)
지금은 서버 한 대에서 돌아갈지 모르지만, 갑자기 특정 종목이 상한가를 가면서 트래픽이 몰리면 서버가 터질 겁니다.
- 문제점: 세션이나 로컬 캐시를 서버 메모리에 들고 있으면 서버 증설(Scale-out)이 불가능합니다.
- 개선안: * 모든 상태를 Redis나 DB로 밀어내고 서버는 순수하게 연산만 하는 Stateless 구조로 만드세요.
- Load Balancer 뒤에 여러 대의 API 서버를 두고 트래픽을 분산하는 구조를 갖춰야 합니다.
5. 외부 API(DART, 주가 등) 의존성 리스크
외부 API가 죽거나 응답이 느려지면 내 서비스 전체가 마비됩니다.
- 문제점: 동기(Synchronous) 방식으로 외부 데이터를 가져오면 외부 API 타임아웃이 곧 내 서버의 타임아웃이 됩니다.
- 개선안:
- Circuit Breaker 패턴: 외부 API가 비정상적일 때 즉시 차단하고 "잠시 후 이용 가능" 혹은 캐싱된 데이터를 보여주는 방어 로직을 백엔드에 짜 넣으세요.
'Archive(완료된 내용) > 포트폴리오 강화' 카테고리의 다른 글
| [stock101] Redis 캐싱 적용하기 - 11일차 (1) | 2026.02.03 |
|---|---|
| [Stock101] gemini api를 쓰자. - 10일차 (0) | 2026.02.03 |
| [Stock101] 프로젝트를 정리하자.- 9일차 (0) | 2026.02.01 |
| [Stock101] @AuthenticationPrincipal을 활용한 유저 정보 관리 (0) | 2026.01.31 |
| [Stock101] 프론트를 재정비하자.- 8일차 (1) | 2026.01.29 |