[피플펀드] 웹서비스 성능개선기


피플펀트 웹서비스 성능개선기 - 피플펀드 한섬기

어쩌면, 스타트업의 개발 방법론

문제 발견 - 갑자기 예상보다 많은 유저가 몰렸을 때

사실 이런일이 있을거라고 알고있었다.

사이트가 느려요.

다행인건

  • 클라우드와치에 몇몇 지표를 생성해두었음

  • 장고 ORM을 어떻게 빠르게 만들 수 있는지 방향정도는 논의 해본적이 있음

원인 파악

점심에 문자 발송 직후 하루의 거의 대부분의 트래픽

입금, 출금, 투자, 상환 모두 lock과 함께하는 트랜젝션으로 처리됨.

최우선순위는 투자자분들의 자금

기술부채의 적정량은?

처음사용하는 거라면 조금은 공부하고 사용하자

상황에 따른 적절한 판단력

뉴렐릭과 클라우드 와치로 여러가지를 파악함

목표

뉴렐릭 most time con 기준 탑 5 순위권에서 제거

웹서버 …

히든 퀘스트

다른 부서와 공유하기

수치로 말하기

개선작업

  • ORM 파악하기
e = Entry.objects.get(id=5)

b = e.blog // DB에 한번 더 접속

e = Entry.objects.select_related('blog).get(id=5)

b = e.blog //이미 위에서 발견된 블로그 객체들을 가져왔기 때문에 DB에 접속하지 않음

  • 미리 계산해두기

2,3중 루프가 있는 건 미리 계산값을 최상단에 서머리 정보를 담아둠

  • api 개선하기

나의 쿼리가 인덱스를 탐색하는지 살펴보자.

  • 캐싱

채권목록 API는 1분 단위 캐싱을 한다. 클라우드 프론트로

api를 static.peoplefunc.com에 임베드시킴

  • 502 Bad Gateway

엔진엑스 로그에 소켓이 안되는거.

소켓에 연결할 수 있는 갯수가 제한되어있다.

sudo vi /etc/sysctl.conf

net.core.somaxconn = 1024

sudo reboot now

성과측정

엄청난 안정화

월요일 피크타임과 동일한 x개 접속 중, 오류 비율을 25%에서 3%로 낮췄습니다.

이노디비를 쓰고있음. - 로우 락을 걸 수 있음.




© 2017. by isme2n

Powered by aiden