perf top -p로 게임 프로세스의 CPU 시간 중 직렬화·압축·암호화 함수(zlib·LZ4·OpenSSL 같은 라이브러리 함수 포함)의 비중을 인원이 적을 때와 몰릴 때 비교
이러면 맞음
인원이 몰릴수록 직렬화·압축·암호화 함수의 비중이 커지고 패킷을 만드는 스레드의 CPU가 먼저 포화
이러면 아님
이 함수들의 비중이 작으면 시야 계산·게임 로직 쪽
확인 수단
인프라 도구로 확인(게임 코드 불필요)
더 알아보기
패킷을 암호화하는 연결(TLS·DTLS 등)이라면 암호화·복호화도 CPU를 씁니다. 암호화는 연결마다 따로 하므로, 한 번 만든 패킷을 여러 명에게 재사용해도 암호화 비용은 받는 사람 수만큼 듭니다. AES-GCM 같은 대칭 암호는 코어 하나가 초당 수 GB를 처리할 만큼 빨라 평소 비중은 작습니다. 속도는 한 번에 암호화하는 단위(레코드)의 크기에 따라 크게 달라서 게임처럼 작은 패킷이 많으면 바이트당 비용이 커집니다. 접속마다 한 번 하는 핸드셰이크에서는 서버가 인증서 키로 서명하고 키 교환(ECDHE)을 계산합니다. 코어 하나가 초당 서명은 약 1,100번(RSA 2048)에서 1만 8천 번(ECDSA P-256), 키 교환은 약 9천 번 정도라 로그인이 몰릴 때 부담이 됩니다.
VALORANT's 128-Tick ServersRiot Games 매 프레임 복제 변수를 클라이언트마다 비교해 바뀐 값을 묶는 방식은 메모리를 여기저기 읽는 느린 작업이라 서버 CPU를 크게 씀
How "expensive" is crypto anyway?Cloudflare BoringSSL 측정: AES-128-GCM 초당 약 3.7GB(레코드 크기에 따라 크게 달라짐), 코어 하나가 초당 RSA 2048 서명 1,120번·ECDSA P-256 서명 18,477번·P-256 ECDHE 9,394번, Cloudflare 엣지 서버에서 TLS 라이브러리가 쓴 CPU는 약 1.8%