Onstage

[여기보기] 알리바바가 외친 “열려라 참깨”에는 열리지 않는 문

아라비안나이트에 나오는 ‘알리바바와 40인의 도둑’ 이야기를 잠시 떠올려보겠습니다. 도둑이 멀리서 외치는 암호가 알리바바에게 유출됐고, 유출된 암호였던 “열려라 참깨”는 계속 재사용됐습니다. 길이조차도 그리 길지 않아서 기억하기 좋았습니다. 여기서 몇 가지 가설을 추가해보겠습니다.

[여기보기] 뿌리 깊은 리눅스의 근본, 루트 계정을 지켜라

여러 작업을 하다 보면, root 계정으로 접속해서 모든 권한을 마음껏 쓸 수 있을 때 정말 편하긴 합니다. 한번 겪어보면 그 유혹을 쉽사리 빠져나오기가 쉽지 않습니다. 하지만 초대받지 않은 사람이 root 계정으로 들어온다면, 딱 우리가 편했던 그만큼 정말 편하게 시스템에 훼방을…

한 번에 언리얼 엔진 멀티 클라이언트 테스트 환경 구축하기

단일 클라이언트에서는 이슈가 발생하지 않더라도, 멀티 클라이언트 동작도 꼭 함께 확인해야 합니다. 단순히 이 이유가 아니더라도, 실제 개발 도중에 멀티 클라이언트 동작이 필요한 상황이 종종 생기기도 합니다. 단순히 2~3개보다 많이 구동해야 하는 상황을 마주하신 분도 계실 것…

언리얼 엔진 특화 프로파일러, 언리얼 인사이트

로컬에서 실행한다면 언리얼 인사이트를 클라이언트나 서버(데디케이티드 서버 포함)보다 먼저 실행해두기만 하면 됩니다. 이땐, 프로파일링 파일 저장 경로와 파일명을 지정하지 않아도, 하단 패널에 있는 ‘Trace Store Directory’ 경로에 날짜와 시간 값을 조합한 파일명으로…

언리얼 인사이트와 친해지기 위한 준비 운동

일반적인 서버-클라이언트 구조에서 프로파일링 툴을 활용해 서버를 튜닝하는 사례는 쉽게 찾아볼 수 있습니다. 반면, 언리얼 엔진에 특화된 서버 튜닝 사례는 아직 찾아보기 쉽지 않습니다. 다행히 언리얼 엔진에는 언리얼 인사이트(Unreal Insight)라는 무료 프로파일링 툴이 있습니다.

간단하지만 까다로운 언리얼 엔진 개발 환경 구축

언리얼 엔진 기반으로 개발하는 게임을 마주한다면, 직접 게임을 개발하는 개발자가 아니더라도 디버깅이나 성능 분석을 위해 언리얼 엔진 개발 환경을 구축해야 하는 상황이 생깁니다. 특히, 언리얼 인사이트나 네트워크 프로파일러 같은 유용한 툴을 쓰기 위해서는 언리얼 엔진 소스를 다운…

Multipass 우분투 VM에도 고정 IP를 붙여보자

기본 원리는 WSL2에서 고정 IP를 설정했던 방법과 동일합니다. 제어할 수 있는 네트워크 인터페이스를 추가하면 됩니다. 다만, 네트워크 인터페이스를 추가하는 방법에 차이가 있습니다. Hyper-v에서 NAT 네트워크를 설치하는 방법이 있습니다. 이 방법으로 가상 네트워크 스위치…

단일 프로세스에서 NUMA가 야기한 성능 저하

물리적으로는 CPU 1개지만, 그 안에 코어가 여러 개 들어있습니다. 각 코어는 연산을 위해 메모리 컨트롤러를 거쳐 메모리에 접근합니다. 이때, 코어가 메모리에 접근하는 속도를 올리거나 동시 전송량을 늘릴 수 있다면 코어 연산 능력을 높일 수 있습니다. 다만 이들 사이에 오가는…

WSL2 활용도를 높여주는 고정 IP 설정

앞서 본 프로젝트 중 차용할 수 있는 기본 개념은 간단했습니다. Hyper-v와 WSL2에 기본 설정으로 잡혀있는 네트워크 인터페이스를 제어할 수 없다면, 제어할 수 있는 네트워크 인터페이스를 추가해서 붙이는 방식이었습니다. 이렇게 네트워크 인터페이스를 추가해서 WSL2 네트워크…

strace가 -k 옵션을 만난 날

strace는 리눅스에서 서버 병목을 확인할 수 있도록, 시스템 콜(시스템 호출, System call)을 측정하는 툴입니다. strace를 활용하면, 리눅스 커널과 프로세스 사이에서 발생하는 시스템 콜, 시그널 전달(Signal deliveries), 프로세스 상태 변화…