시스템

버킷 버전에 따른 퍼포먼스 차이 관련 질문입니다.

레몬카라멜 2020.01.18 조회 수 95 추천 수 0

한디포 질문 게시판 첫 글이네요


현재 평균 동접 약 50명인 1.12.2 PVP 서버를 운영하는 서버 운영자입니다.

다음 시즌을 준비하면서 서버 버전에 대해 많은 고민을 해보았는데요

1.15 버전이 1.14 버전에서 문제가 심했던 클라이언트 최적화 문제가 많이 개선되었더라구요.

그래서 개인적인 생각으로 1.12.2 보다 1.15.1 버전이 처리 속도가 좋게 나올 것이라고 생각해서

1.15.1 버전으로 서버를 열고 1.12.2까지 접속할 수 있도록 해볼 생각인데

실제로도 1.12.2 버전과 1.15.1 버전의 처리 속도 차이가 있을지 궁금합니다.

 

 




14개의 댓글

camelCase
23 일 전

1.12 이후로 패킷 구조가 바이너리에서 문자열 기반으로 바뀌면서 통신에 오버헤드가 거진 10배가까히 늘어난 상황입니다.

그리고 1.12이후로 최적화가 청크 생성관련만 조금 됬을 뿐, 나머지는 거진 그대로라 오히려 버전 올리면 랙이 더하면 더했지 덜하지는 않을 것이라 봅니다.

최적화는 아예 버킷자체를 바닥부터 다시 만드시거나, 아니면 한 서버에 40명 안쪽으로 수용하게끔 번지코드로 적극적으로 쪼개놓거나 하는 방법밖에는 답이 없어 보입니다.

레몬카라멜
22 일 전
@camelCase

소중한 답변 정말 감사합니다 ㅠㅠ

번지코드로 서버 쪼갤 생각은 해봤는데 역시 그게 정답이었군요...

답변 감사합니다!

camelCase
23 일 전

마인크래프트 서버에서는 1초에 20번씩 모든 플레이어의 행동, 엔티티, 랜덤틱, 청크생성 등을 모두 단일 쓰레드에서 처리합니다.

비동기로 처리하는것은 채팅이나 플러그인에서의 비동기 처리 밖에 없어용.

플러그인 개발할때 이벤트도 모두 같은 쓰레드에서 주기 때문에 특정 플러그인에서 이벤트 처리를 복잡하게 질질끌면 서버 전체가 느려지는 구조입니다.

결론적으로 코어가 아무리 많아도 소용이 없고 단일 코어 성능이 정말 중요합니다.

코어가 많아도 동접이 늘어나면 한 코어만 죽으라고 갈구면서 병목이 발생해 오히려 서버 전체 CPU 사용량은 감소하는 현상이 발생합니다.

illusion_xii
18 일 전
@camelCase

플기닝할때 보통 멀티쓰레딩을 안하긴하죠.... 쉽게 건드릴 항목이 아니니..

illusion_xii
23 일 전

클라이언트만 차이가 있다면 아마 퍼포먼스의 차이는 있지 않을듯 합니다. 멀티플레이에서의 퍼포먼스는대부분 서버로인해 결정나니까요.

예를들어볼까요?

만약 현재 가성비 제품으로 팔리는 컴퓨터(클라비유) A와 , 최고급 제품으로 팔리는 컴퓨터 B가 있다고 칩시다.

둘다 마인크래프트는 동일한 사양으로 구동하며, 그 사양을 A, B두컴퓨터 다 문제없이 견뎌냅니다.

이때 A, B 를 쓰는사람 a, b 가 동일한 서버에 들어가있다 칠때, 실질적으로 a, b간의 퍼포먼스 차이는없습니다

근데 A컴퓨터에서 사용하는 네트워크(서버 비유)는 LTE급 인터넷 속도를 자랑하고 B컴퓨터는 Giga급 인터넷속도를 자랑한다면 B가 퍼포먼스가 우수하겠죠.
이렇듯,  클라의 차이로인한 퍼포먼스차이는 없을듯 합니다.

레몬카라멜
23 일 전
@illusion_xii

클라가 아닌 서버 처리에 관한 퍼포먼스가 궁금해서 질문 했던거였습니다.

혹시 클라이언트 최적화 진행하면서 서버 관련 코드도 최적화가 되었으려나 궁금했었거든요

서버 최적화가 진행되었는지 여부를 알 수 없으니.. 개인적인 처리 속도 테스트를 몇번 진행해보고 결정 하는 방법 밖엔 없을 것 같네요...

답변 감사합니다

illusion_xii
18 일 전
@레몬카라멜

아 서버처리의경우엔 있을...겁니다

1.12.2 에서 1.13버전으로 올라갈때 Material 이름들도 좀더 정교하게 바뀌었고, 몇몇 함수들이 리뉴얼되었기에 아마, 서버퍼포먼스에도 약간의 차이는 있겠네요.

(근데 오히려 1.12.2 가 렉이 안걸립니다 최적화 이전인데도요. (???????))

레몬카라멜
18 일 전
@illusion_xii

엇... 조금 신기한 현상이군요 ㄷㄷ...

답변 감사합니다!

illusion_xii
14 일 전
@레몬카라멜

넵~

아무래도 여러가지 업데이트가있는데 정작 청크렉만 약간 해결하고 나머지는 오히려 더 올라가서 그런듯하빈다

DDang_
2020.01.20

직접 실험해보시는건 어떠신가요

레몬카라멜
2020.01.21
@DDang_

직접 실험해봐도 오차가 있다는 점을 감안하면 차이가 거의 없는 것 같아서 질문하게 되었습니다

친절한젤리봇
2020.01.19

으으음..

속도는 빨라지겠지만 플러그인이..

레몬카라멜
2020.01.19
@친절한젤리봇

플러그인은 제가 직접 제작해서 상관 없습니다

친절한젤리봇
2020.01.19
@레몬카라멜

앗! 그렇군요!

질문

개발에 관련하여 궁금한 것들을 질문하는 공간입니다.



 

 

개발자 최신글
https://www.koreaminecraft.net/files/thumbnails/331/339/001/262x150.crop.jpg

기타

디스코드 봇 프로젝트 소개

라고솔로가말했습니다

2020-02-23

0

사진이 없습니다.

스크립트

디스코드 연동 애드온 vixio 볼륨설정 2

워뇽이사랑해

2020-02-22

1