Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Performance

Performance basic
by

Sangmin Lee

on 18 October 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Performance

Total 31,600 TPS 가 나오니 우리 시스템은 훌륭하네 ~~~
What is performance ?
Performance
About Performance
User
Time
Performance Key Points
Bottleneck
Conclusion
정말 그렇게 믿고 들어오신 것은 아니시죠?

저는 성능을 10여년을 했습니다.
한시간에 성능 전문가가 될 수 있을까요?
About Performance

User

Time

Performance Key Points

Bottleneck

Conclusion
Agenda
Performance in Dic.
Performance in IT
얼마나 빠른가?
얼마나 많이 처리할 수 있나?
얼마나 많은 사람이 붙어서 사용할 수 있나?
Kind of User
- System manager's view
Kind of user
- Server’s view
Kind of user
- Tester’s view
Kind of user
- Summary
일반적으로 이야기하는 동시 접속자는
Concurrent ? or Active ?
Concurrent user
vs
Active user
Detail description is later
Concurrent user is

웹 페이지를 띄워 놓은 사용자

앱을 실행하고 있는 사용자

앱의 메뉴나 링크를 누르고 결과가 나올때까지 기다리고 있는 사용자
Concurrent user
Active user is

앱의 메뉴나 링크를 누르고 결과가 나올때까지 기다리고 있는 사용자

== 서버에 부하를 주고 있는 사용자

== 보통 성능 테스트시 Vuser 수
(Vuser == Virtual user)
Active user
Time @ User
Time @ System
Which is the most time consumption factor?
Time @ User detail
Why performance is important ?
출처 : Performance Related Changes and their User Impact. Google, Bing (2008)
Why performance is important ?
Server Delays Experiment: Results
출처 : Performance Related Changes and their User Impact. Google, Bing (2008)
그때 그때 달라요~~~
Concurrent & Active users ratio ?
Performance two factors
TPS
Time
TPS
TPS == Transaction Per Seconds == 초당 처리량

절대적인 시스템의 성능을 나타내는 수치

1초에 얼마나 많은 요청을 처리할 수 있느냐 ?
Time
요청 시간(Request time) 과 응답시간(Response Time)을 합한 시간

사용자의 이탈과 매우 밀접 !
TPS vs Time
TPS는 서버를 늘이면 해결 가능 !!!

Time은 서버를 늘려도 해결 불가능 !!!

둘다 튜닝(tuning)을 통해서 해결 가능
TPS & User Graph
@ Performance test
Time & User Graph
@ Real world
@ Performance test
이 구간 응답 속도만 측정 가능
Time & User Graph
@ Performance test
TPS & Time Graph
@ Performance test
Key factor of bottlenecks
Server

Client
Server bottlenecks
Server Machine
OS
Memory
Disk
Network
Application
Web
WAS
Storage
DBMS
Cache
etc ...
Client bottlenecks
Client Machine
OS
Disk
Network
Application
App
Page contents
JavaScript
etc ...
Bottlenecks top 3
1. Web page (FE)

2. Network

3. DB
The life of Web Page
birth ~ marriage 단계의 성능이 전체 응답 속도 중 대부분(50%이상)을 차지
출처 : http://www.bookofspeed.com/chapter2.html
Web page performance optimize
Minimize network transfer
CSS, JS, Image, File compression, Cookie, ...

Reduce HTTP request
Merge file, CSS sprites, no redirect, ...

Consider browser rendering
Markup complexity, Reduce reflow & repaint, ...
출처 : http://html.nhndesign.com/2012_openworkshop/pt/05.pdf
Ask :
cowboy93@sk.com
javatuning@gmail.com
god@godofjava.com
Q & A
Thank you
Performance engineering is

"Composite Art" of IT.
Where can I use TPS ?
성능 테스트를 했는데 10 TPS 가 나온대요 ~~~

뭘 어떻게 해석을 해야 하는건가요?

결론적으로 우리 시스템은 문제 없는건가요?

TPS는 시스템 사용자의 사용 패턴을 분석하여 활용 해야 한답니다.
Where can I use TPS ?
애니팡을 예로 들어 보죠.
사용자가 언제 서버에 접속할까요?
처음 게임 시작할 때
한판 끝났을 때
하트를 보낼 때
...
==> 이 각각의 Case별 TPS를 구분해야 해요.
Where can I use TPS ?
예를 들어 다음과 같이 결과가 나왔다면
처음 게임 시작할 때 == 100 TPS
한판 끝났을 때 == 1,500 TPS
하트를 보낼 때 == 30,000 TPS
Where can I use TPS ?
처음 게임 시작할 때 == 100 TPS
==> 로그인은 동시에 100명만 붙을 수 있고,

한판 끝났을 때 == 1,500 TPS
==> 점수 업데이트는 동시에 1,500 건이 처리되며

하트를 보낼 때 == 30,000 TPS
==> 하트는 동시에 30,000 건을 보낼 수 있다.

라고 해석해야 함.
따라서, TPS 결과로 각각의 의미를 분석해야 ~~~
Time with statistics
Average response time

Median response time

90th percentile response time

Standard deviation
About me
삼성 SDS --> NAVER --> SKP --> NHN Entertainment
Full transcript