둥둥키
대표칭호 없음
이해도 | 입문자 |
---|---|
게임버전 (JE) | 관련없음 |
게임버전 (BE) | 관련없음 |
CPU : E5-2690 v2* 2ea (20C 40T)
RAM : 128G
트래픽 : 30Mbps
20명도 안들어왔는데 tps 드롭 문제가 계속 발생합니다
다른 개발자 분들이 많이 시도해보셨는데 다들 포기하셨습니다 제발 도와주세요..
성공하시면 페이 있습니다 실패하시면 없습니다
https://spark.lucko.me/69hs7mDlxZ
스파크분석 같이 첨부합니다
저녁동안 돌린 스파크 첨부합니다
qsef1256
2024.07.29Enforce란 플러그인이 플러그인 틱의 20%를 먹고 있는데 얘는 조치가 필요해 보이네요, 따로 검색해도 안 나오는데 커스텀 플러그인인가요?
둥둥키
2024.07.29네네 커스텀 플러그인 입니다
qsef1256
2024.07.29죄송하지만 그 플러그인은 좀 잘못 만든 것 같아요.
ItemMeta를 처리하는 작업은 생각보다 좀 걸리는 작업이에요, 근데 제일 큰 자연이 발생하는 부분이 playerMaxHealthSet()인데 제가 보기에 이 메서드에서 플레이어 체력을 아이템 Lore에서 가져오는 것 같거든요, 그리고 그걸 계속 반복하고 있는 것 같고요. 메서드 이름으로 대강 추측은 할 수 있는데, 이런 기능을 구현하기 위해서 이런 방법을 쓰지 않아도 되고 비동기로 굴려서 지연이 없게 만들어도 상관 없는 부분이거든요.
또 regex 매칭용 Pattern 자체도 상당히 비용이 드는 작업이라 변수로 올려놓고 평가만 시키는 게 정석인데 매번 인스턴스를 새로 만들고 있는 것 같아요.
이런 정황들로 미루어보아서 플러그인 자체가 최적화가 많이 안됬다고 추측할 수 밖에 없을 것 같고요
qsef1256
2024.07.29사실 정확한 건 소스 까봐야 알겠지만 이게 무조건 플러그인을 쓴다고 좋은 게 아니에요, 플러그인으로도 스크립트보다 심한 서버 렉을 만들 수 있어요. 거의 대부분은 프로그래머의 실력에 달려 있어요
qsef1256
2024.07.29일단 대부분의 지연은 엔티티랑 청크 때문인 것 같네요, 청크는 미리 로드 시켜두면 어느 정도 아낄 수 있고요 엔티티는 주기적 정리를 하시는 게 맞을 것 같고요 (특히 주민은 렉 많이 걸립니다)