Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1

Share

Download to read offline

[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자

Download to read offline

※다운로드하시면 더 선명한 자료를 보실 수 있습니다.

서버를 개발하면서 대규모 테스트를 어떤 식으로 진행할 것인지 고민하고 설계했던 내용과 그 과정에서 겪었던 시행착오를 공유하고자 합니다.

목차
1. 부하 테스트, 이것만 모니터링하면 끝?
2. Web, TCP Game Server
3. TCP Stress Test
4. 이렇게 모니터링해 보자
5. 시행착오
6. Q&A

대상
서버-클라이언트 테스트에 관심 있는 분 누구나

■관련 동영상: https://youtu.be/WhkZP4ZATmA

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자

  1. 1. response = request(data) 12 13 14 15 16
  2. 2. gTest.record(ioClass, "ioMethod")
  3. 3. 1 2
  4. 4. Request 1 Request 2 Request 3
  5. 5. 언제 올 지는 모름
  6. 6. Þ Þ Þ
  7. 7. user.login(); user.move(); user.attack();
  8. 8. for (i=0; i<n; ++i) { user[i].login(); user[i].move(); user[i].attack(); }
  9. 9. user1.login(); user2.login(); user1.trade(user2); user2.accept(user1);
  10. 10. user1.login(); user2.login(); user3.login(); user1.trade(user2); user2.accept(user1); … user3.chat(user1); user1.party(user3); …
  11. 11. // Login 10 Users. ... user1.party(user2); user2.accept(user1); user3.move(); ... user4.attack(mob1); user5.attack(mob1); ... user10.logout(); user7.logout();
  12. 12. users[N]; for (i=0; i<N; ++i) { users[i].login(); } ????
  13. 13. users[N]; for (i=0; i<N; ++i) { users[i].login(); } ????
  14. 14. for (i=0; i<10; ++i) { users[i].login(); } // 여기는 pvp 존. for (i=0; i<10; ++i) { users[i].login(); } // 같은 시나리오 user5.skill(); // 광역 스킬! user6.portal(); // 근처에 있던 운 나쁜 녀석. user17.skill(); // 광역 스킬! 다른 유저에게 데미지 판정! 저 쪽 시나리오 코드에는 대응방법이 없는데??user6.chat("살려주세요"); user6.portal();
  15. 15. Þ Þ Þ
  16. 16. loginHandler() { mail() } mailHandler() { move() }
  17. 17. someHandler() { } // 행동 불능 상태인지, // 선행할 다른 행동이 있는지,
  18. 18. Statistics Data Visualization
  19. 19. $refs.tuiLineChart.invoke( 'addData', timeLine_label, [some_data] ) $refs.tuiBarChart.invoke( 'setData', { categories: ['category_name'], series: [{ name: 'series_name', data: 123 }] } );
  20. 20. MDC.put("keyword1", "value1") MDC.put("keyword2", "value2") logger.info("Message")
  21. 21. " " " " " " " " " " " " " " " " " " " " MDC.put("some", "json as string") logger.info("Message")
  22. 22. "aggs": { "tps": { "sum": { "field": "statistics.tps" } }, "pps": { "sum": { "field": "statistics.pps" } } } "must": [ { "match": { "message": "LineChart" } } ] "statistics": { "tps": 1234 "pps": 5678 }
  23. 23. "aggs": { "category": { "terms": { "field": "packet_name" } } } "must": [ { "match": { "message": "Receive" } } ] , "aggs": { "size_list": { "terms": { "field": "packet_size" } } } , "aggs": { "sum_each": { "sum": { "field": "packet_count" } } } "packet_name" : "LoginToC" "packet_size" : "1234" "packet_count": "5678"
  • sunggonSong

    Oct. 30, 2020

※다운로드하시면 더 선명한 자료를 보실 수 있습니다. 서버를 개발하면서 대규모 테스트를 어떤 식으로 진행할 것인지 고민하고 설계했던 내용과 그 과정에서 겪었던 시행착오를 공유하고자 합니다. 목차 1. 부하 테스트, 이것만 모니터링하면 끝? 2. Web, TCP Game Server 3. TCP Stress Test 4. 이렇게 모니터링해 보자 5. 시행착오 6. Q&A 대상 서버-클라이언트 테스트에 관심 있는 분 누구나 ■관련 동영상: https://youtu.be/WhkZP4ZATmA

Views

Total views

120

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

13

Shares

0

Comments

0

Likes

1

×