표준 랙의 크기는 폭 19인치, 높이 2.2m, 깊이 0.9m(0.6, 0.75도 있음)입니다. 그래서 그냥 19인치 랙이라고들 합니다. 이 때, 1/4 랙, 2/4 랙, 3/4 랙은 캐비닛 랙의 크기를 의미합니다. 가장 기본적인 크기는 높이 2.2m 인데, 이것의 1/4 크기라면 1/4 랙 이런 식으로 호칭합니다. 그런데 요즘은 좀더 다양한 크기때문에 Unit단위로 많이 표시하는것 같습니다. 1U, 2U, 3U는 캐비닛 랙에 들어가는 주변기기의 높이를 칭합니다. U는 여기서 사용되는 하나의 단위이며, 일반적인 디스크 드라이브의 하프 하이트(half height : 1.6", 46mm)에 해당합니다. 그래서 1U 케이스라는 것은 46mm의 두께를 가지고 있는 것을 지칭하고, 2U는 46x2 = 92mm의 두께를 가지고 있는 것을 말합니다. 3U, 4U, 5U 등도 마찬가지로 계산하면 됩니다. 가끔 1U 및 2U 타입의 케이스로 만들어진 서버의 경우 매우 얇은 형태를 취하게 되겠죠? ^^* 랙의 크기가 중요한 이유는 시대 추세가 분산처리방식을 위해 작고 조금은 낮은 성능의 서버를 여러대 쓰는게 효율적입니다. 그래서 요즘은 IDC에서 과거에 캐비넷을 기준으로 나누던것을 요즘은 U사이즈로나 눕니다. 아직도 어떤 IDC는 제일작은 사이즈가 1/8정도던데 1/8랙 사이즈면 4u정도 되는것으로 아는데 2u서버 집어넣으면 남는 공간이 있어 비효율적이죠 그리고 사이즈를 나누는 이유는 상면이용료 때문인데. 1u보다는 2u가 더 크기 때문에 이용료도 더 비쌉니다. 그리고 중요한거죠 유지비용 때문에도 그렇고 해서 보통은 2u로 많이들 하죠 1u는 크기가 상당히작아 부품도 약간 비싼걸로 앞니다. 보통 피시를 눞혀놓으면 가로로 19인치가 안되지만 높이는 3~4U사이즈는 되지요 어떤IDC에 가봤더니 일반 PC를 서버로 쓰는 회사가 있더군요. 장기적으로 보면 비용면에서 손해입니다. 이유 때문에 블레이드(blade) 서버라고 부르기도 합니다. 랙(lag, Latency)은 보통 컴퓨터 통신이 일시적으로 지연되는 것을 나타내는 말이다. 하지만 가끔 컴퓨터의 입력장치 등이 일시적으로 응답이 없는 것을 가리키는 말로도 쓰인다. 전문적인 용어로는 패킷이 컴퓨터에서 목적지로 전송된 뒤에 다시 돌아올 때까지 지연되는 시간을 말한다. 한글맞춤법에 따르면 래그라고 써야 하지만, 대부분 '랙'이라고 짧게 쓴다. 목차
개요[편집]컴퓨터상의 랙, 간단하게 설명하자면 일시적인 지연 현상을 뜻한다. 특히 받은 입력을 처리하여 관련 출력을 낼 때까지 걸리는 랙에 관련할 때 인풋랙이라고도 한다. lag(랙)이라는 단어의 몇 가지 뜻 중에서 '시간 차이'라는 의미를 가져와서 활용하는 용어이다. 서버와 클라이언트 간의 시간 차이, 디바이스 간의 입력과 출력 시간 차이 등 여러 가지 경우에 사용된다. 사실 일반 PC 사용자들 사이에서는 랙이라고 하면, 온라인 게임 혹은 웹서핑 등의 인터넷 환경에서 서버나 클라이언트, 혹은 다른 클라이언트 간에 시간적인 차이가 얼마나 발생하는지에 대해서 언급하는 경우라고 보면 된다. 현재 일반적인 컴퓨터의 경우 어떤 장치들을 어떤 방식으로 연결했든지 간에 동기화를 아무리 잘해도 장치들 간의 미세한 시간 차이는 존재할 수밖에 없으며, 당연히 이 시간 차이가 크면 클수록 문제가 되므로 랙이 있다, 심하다 등으로 표현하게 된다. 컴퓨터의 성능이 프로그램이 요구하는 사항을 따라가지 못하거나, 혹은 하드 디스크 드라이브에서 한 번에 많은 데이터를 읽어올 때 화면이 끊기는 현상 즉, 하드 스왑도 일반적으로 랙이라고 불린다. 이 경우는 흔히 컴랙이라고 불리는데, 컴퓨터를 3~5년마다 한 번씩 바꿔야 하는 주요 원인이 되기도 했으나 2010년대부터 SSD가 대중화되고 나서부턴 줄어드는 경향을 보이고 있다. 사실 컴퓨터의 하드웨어가 뒤떨어져서 컴퓨터의 처리 속도가 게임이 요구하는 수준을 따라가지 못해 생기는 현상이니 랙이라는 단어 자체의 뜻에 부합하기는 하지만, 이러한 의미의 처리 속도 지연은 보통 프리징(Freezing)이라고 한다. 랙이 걸릴 경우 프로그램, 주로 게임에 따라 온갖 진귀한 이상 현상들이 펼쳐지는 경우가 많다. 애초에 랙이 걸리는 모든 상황을 고려해서 예외 처리를 해가면서 프로그래밍을 하기가 매우 힘들기 때문에 예측할 수 없는 버그가 나오게 되는데, 몇몇 온라인 게임들은 이런 랙을 이용한 버그를 악용하여, 일부러 랙을 걸어서 온라인 게임상에서 부당한 방법으로 이익을 얻는 경우도 있다. 각종 온라인 게임에서 어떤 사용자가 랙에 걸리면 주위 사람들이 짜증을 내게 되며, 반응속도가 매우 중요한 대전 액션 게임과 리듬게임은 이게 심해버리면 아무리 게임성이 좋아도 버림받게 된다. 이는 인터넷 브라우저들도 피해갈 수 없는 문제이다. 랙이 자주 유발된다는 이유로 인터넷 브라우저를 갈아타기도 하고, 랙이 유독 잘 걸리는 특정 사이트나 서버는 자연히 사람들이 꺼리게 되기도 한다. 시중에 랙을 해결하기 위한 여러 방안들을 담은 자료들이 블로그나 유튜브 영상 등으로 돌아다니나 사실 잘 해결될 확률이 100%라고 하긴 힘들다. 무선랜 자체를 다른 기기로 갈아야 하는 문제, 혹은 컴퓨터 저사양의 문제 등 하드웨어 자체의 문제라면 제아무리 소프트웨어 쪽을 건드린다 해도 무용지물이기 때문이다.[1] 특징[편집]발생 원인[편집]랙의 가장 흔한 원인은 말 그대로 네트워크 지연 때문이다. 온라인 게임은 대부분 네트워크를 전제로 게임이 진행된다. 응당 서버/클라이언트가 있게 되고 이 사이에 통신 속도가 존재한다. 게이머들은 흔히 이를 두고 핑(ping)이라 표현한다. 이 핑이 일정 수준 이상으로 높으면 지연이 발생하고 있다는 것을 직접적으로 말해준다. 지연 속도가 특정 수치 이상이 되면 불일치가 발생한다. 게임 클라이언트에서는 공격 모션이 나왔음에도 실제로 공격 대상에는 피해 수치가 적용되지 않는 것과 같은 상황이 발생하는 것이다. 이게 점점 심해지면 어느 순간 자신도 모르게 멀미가 나오는 것을 느낄 수 있다. 이런 온라인 게임의 네트워크 품질은 비단 자신의 인터넷 회선에만 영향을 받는 것은 아니다. P2P 방식으로 게이머들끼리 네트워크를 형성해서 진행되는 게임의 경우에는 다른 게이머의 네트워크 회선 속도에 자신도 같이 영향을 받는다. 빛의 속도에 근접하면 전혀 다른 세상이 펼쳐지는 것처럼, 핑이 일정 수준 이상으로 높아지면 개발자들이 전혀 예측하지 못했던 새로운 문제들이 발생하기도 한다. 이런 버그들을 악용해서 일부 게이머들은 랜선을 뽑았다 다시 연결하는 태핑이나 특정 패킷을 특정 주소로 무한대로 전송하는 누킹(nuking), 자신의 PC에 랙을 의도적으로 유발하는 랙핵과 같은 방법을 사용해서 추가적인 이득을 얻기도 한다. 랙의 또 다른 요인은 게임 서버에 존재한다. 최근 온라인 게임의 추세는 클라이언트는 뷰어 역할만 하고 게임 서버에서 모든 게임 상태를 모델링 하는 방식으로 진화하고 있다. 이렇게 이루어지는 이유는 해킹을 막기 위해서이다. 예를 들어서 디아블로 3에서는 간단한 조작으로 화면에 표시되는 골드 값을 변경할 수 있을지 몰라도 실제 그 표시되는 데이터로 경매장을 이용할 수는 없는데, 그것과 동일한 이치다. 실제 데이터는 서버에 모두 저장돼 있고 그 값을 토대로 계산이 진행되기 때문이다. 이렇게 서버가 복잡해지다 보니 서버의 상태 이상이 고스란히 랙으로 전달된다. 스스로가 속해 있는 게임 서버의 상태 이상으로 모델링 처리 속도가 지연될 시 그 모든 영향을 그대로 받는다는 말이다. 이런 점들을 본다면 이런 종류의 랙에 대해서 게이머가 할 수 있는 것은 하나도 없다. 그저 게임 개발사에서 서버를 안정화 시키기를 기다리는 수밖에는 없다. 랙을 유발하는 이유 중 한 가지로 컴퓨터 사양이 있다. 컴퓨터 사양이 해당 게임을 구동할 수 있을 정도로 충분히 빠르지 않다면 필연적으로 심각한 랙이 발생한다. 이 경우에는 업그레이드를 해주어야 한다. 물론 게임의 그래픽 옵션 사양을 낮추고, 해상도를 낮추는 방법을 통해서 어느 정도의 가용성을 확보할 수 있기도 하지만 실질적으로 쾌적한 게임을 즐기기 위해서는 컴퓨터 업그레이드가 유일한 답이다.[2] 그리고 랙의 발생 상황에 따라서 상황에 따라서 ‘서버랙’, ‘클라이언트랙’, ‘이동랙’ 등으로 구별하기도 한다.
대처 방법[편집]랙 현상을 막기 위해 가장 좋은 방법은 최신형 컴퓨터를 새로 장만하는 것이다. 최신 CPU, 최신 그래픽 카드를 넣는 방법으로, 가장 확실한 방법이지만 그만큼 비용의 부담도 가장 드는 방법이다. 인텔의 경우 9세대(2020년 2분기에 10세대 나올 예정) CPU를 구매하고, AMD의 경우는 젠 2(2020년 4분기 젠 3 나올 예정)를 구매를 하는 것이다. 그 외 추가적인 부분은 램(RAM) 정도이며, 못해도 8GB를 구매해야 한다. 요즘 권장되는 램 용량은 16GB이며, 램을 구매할 때 오버된 램(튜닝램)을 구매해서 사용하거나 혹은 최신 3200mhz의 순정 램을 구매하면 전보다 렉이 줄어들고 동시에 더 높은 프레임을 볼 수 있다. 다만, 만약 오버를 중점으로 가격이 비싼 삼성 순정 3200MHZ를 선택을 한다면 수율 자체가 좋지 않기 때문에 현재 많이 팔리는 2666과 차이가 거의 없기에 유튜브나 구글 검색으로도 오버 자체를 하지 못하는 경우가 아닌 이상 안 사는 쪽을 권장한다. 램 용량은 보통 기본 8GB이지만, 게임을 한다면 16GB는 무조건 구매를 하는 것이 좋다. 또한 게임을 한 면 SSD에 게임을 설치하고 플레이를 하는 것이 좋다. 윈도우 설치는 무조건 SSD인데, 부팅 속도가 매우 빨라진다. 이때 NVMe M.2버전과 일반 SSD 버전을 선택을 하게 되는데, 서로의 부팅 속도 차이는 크지 않으니 1초라도 더 빠른 로딩 속도를 원하면 NVMe M.2를 사용하면 된다. 만약 구매 후 콘솔 게임(패키지)까지 생각하여 한번 구매 후 다음 콘솔 제품이 나오기 전까지 최대한 오랫동안 사용하고 싶다면 AMD의 젠 2나 올해 나올 젠 3 8코어 CPU에 RDNA 2세대(빅 나비) GPU를 구매하면 된다.[4] 기존 컴퓨터 오버기존의 컴퓨터를 사용하던 사용자들이나 컴퓨터의 지식이 부족한 사람들이 가장 우려하는 방법 중 하나가 바로 오버이다. 오버는 가능하다면 이용하는 편이 유효하겠지만, 실패 시 리스크가 크기 때문에 주의해야 한다. 근래에 들어서는 조립식 컴퓨터를 구매 시 오버를 시행한 후 출고를 해주는 업체도 존재하기에 그쪽 방면에 맡기는 것도 방법 중 하나이다. 기본적으로 오버는 부팅한 후 Delete 키를 눌러서 나오는 바이오스를 통해서 오버를 시도한다. 해당 방법은 각자 차이가 존재하는 편이지만 기본적인 인텔과 AMD의 오버 방식은 같다. 원하는 CPU 클럭을 입력 후 CPU 전원 값을 입력하고 재시작을 시행한다. 램의 경우도 절차는 비슷하게 진행되지만, 램 오버의 경우에는 램 클럭을 올릴 때 램 타이밍도 같이 맞춰야 한다. msi 보드를 기준으로 설명하였지만 다른 보드도 크게 차이가 존재하지 않기 때문에 수동 오버에 관심 있다면 참고하는 게 좋다.
문제점[편집]이러한 문제를 포괄하는 랙을 게임사가 방치하는 데에는 여러 가지 이유가 있는데 이는 '회선 문제', '서버 랙', '클라이언트 랙' 등이 존재한다. 이 문제에 대하여 게임사에서 대처할 수 있는 사항은 존재하지 않는다. 우리나라의 경우 회선이 아주 좋은 상태지만 해외의 경우에 그렇지 않은 경우도 많다. 업로드/다운로드 트래픽이 제한된 곳, 인터넷인데 인터넷이 아니라 인트라넷인 경우, 심지어는 업데이트 패치를 제대로 받지 못해 수동 패치를 제공해야 하는 경우 등 여러 경우들이 존재한다. 국내에서도 회선 자체가 불량인 경우나 악성코드에 감염돼서 핑이 불안한 경우 등 여러 문제가 있다. 하지만 게이머들은 충분한 기술적인 지식이 없기 때문에 인터넷의 이러한 상태에 대해서 자세하지 못한 편이다. 그저 게임이 되지 않는다고, 핑이 튄다는 반응을 보인다. 서버랙서버랙의 경우는 게임 개발사에서 해결을 해야 하는 문제이다. 또한 어느 정도 분명한 원인을 가지고 있는 문제이기도 하다. 하지만 이것 또한 난해한 문제이다. 왜냐하면 99.98%의 서버 랙 이슈는 사용자가 밀집되고, 게이머가 개발자가 전혀 예측하지 않은 형태로 플레이를 하면서 발생하기 때문이다. 라이브 환경에서만 문제가 발생하기 때문에 해결이 쉽지 않다. 더욱이 요즘 게임 서버는 단순히 게임 서버 하나만이 아니라 상상할 수 없을 정도로 복잡한 구조로 다양한 서버들이 엮여 있기 때문에 랙이 발생해도 도대체 어떤 부분에서 무엇 때문에 지연이 되는지 찾는 일이 매우 어렵다. 이 문제가 극대화되는 마지막 이유는 게임이 일단 상용화에 들어가고 나면 게임 개발자가 멋대로 변경할 수 있는 것들이 극도로 제한된다는 점이다. 즉, 거의 대부분의 경우에 심각한 이슈가 아니라면 서버 개발자는 이러지도 저러지도 못하는 상황에 처할 수밖에 없다. 그래서 CBT를 하고 OBT를 하는데, 이마저도 최근 환경에는 아주 짧게 가져가는 추세이다. 그래서 이런 이슈가 더 많이 부각되기도 하는 것이다. 클라이언트랙이는 기본적으로 클라이언트 리소스가 크기가 정해지는 순간 개발자의 역량으로 할 수 있는 일은 상당히 제한된다. 근래의 게임은 워낙 규모가 크기도 하고, 그런 규모만큼이나 외부 라이브러리를 많이 사용하기 때문이다. 개발자의 노력 여하로 최적화를 시키기에는 난해하는 것이다. 클라이언트 랙으로 사용자들이 불평을 하는 이유는 다른 곳에 있다. 바로 최소 사양과 권장 사양이다. 대부분의 게임사에서 권장 사양을 최소 사양으로 공지하는 경우가 많다. 그렇다 보니 게이머들은 그게 최저 권장 사양이라 여기고 PC는 권장 사양보다 좋은데 랙이 발생한다고 불평을 하는 것이다. 사실 거의 대부분의 경우에 권장 사양은 실질적인 의미의 최소 사양이라고 생각하는 편이 대처하기 편하다. 게임 등에서 랙이 개선되지 않는 본질적인 이유는 다른 부분에 있다. 바로 게임 개발자, 운영자, QA, 서드파티 제품 개발자, 운영자 모두 랙을 모른다는 것이다. 거의 대부분의 경우에 그 모든 사람들은 게이머가 말하는 랙을 전혀 이해도 하지 못한다. 왜냐하면 서로 체감하는 시간의 기준이 다르기 때문이다. 게이머들은 상상하는 것보다 훨씬 더 민감하다는 의미이다. 일반 게이머 중에서도 잘하는 게이머들은 아주 마이크로한 부분에 대해서도 굉장히 민감하게 반응한다. FPS 게임이라면 총기를 교환하는 속도, 탄환이 발사되는 속도, 줌 속도, MMO 게임에서는 특정 기술이 발동하는 모션의 속도, 자신이 설치한 구조물들이 활성화되는 속도 등등 전혀 게임을 잘하는 사람이 아니라면 알 수 없는 부분에 대해서 불평을 한다. 이게 어려운 점이다. 왜냐하면 게임을 그 정도로 잘하지 않고서는 아무리 대처하려 하더라도 그 속도의 차이를 이해할 수 없기 때문이다. QA 팀에서 몇 차례에 걸쳐 랙 테스트를 해도 문제가 없다고 하는 이유가 바로 여기에 있다. QA 팀에는 실제 유저가 말하는 랙을 체감할 수 있을 만큼 그 게임을 잘하는 플레이어가 없기 때문이다. QA 팀에서 봤을 때는 총기 교체 속도가 원래만큼이나 충분히 빠르기 때문이다. 이러한 점들을 보완하기 위해서 게임 관련 서드파티 업체들은 항상 채용할 때 지원자가 게임 잘하는지, 좋아하는 온라인 게임은 있는지를 확인한다. 실제로 그러한 게임을 잘하는 직원 같은 경우 다른 직원보다 해당 분야의 게임에 대한 랙이나 핵을 찾는데 훨씬 더 뛰어난 역량을 보여준다. 실제로 게임사나 서드파티나 랙이란 문제에 대해서 진지한 접근을 하고 싶다면 랙을 이해할 수 있을 만큼 뛰어난 게이머를 채용해야 한다. 그렇지 않고서는 아무리 테스트를 해봐야 변함없는 실정이다.[2] 스터터링[편집]스터터링(Stuttering)은 일시적 랙으로 인해 게임이 버벅거리는 현상을 주로 지칭한다. 특히 오픈 월드 게임에서 프리 로드할 데이터가 HDD에 있는 경우 잘 발생한다. 심할 경우 프리징(Freezing)이라고 하기도 한다. 물론 랙과 프리징은 엄밀히 구별되지는 않는 유의어 관계이기 때문에 스터터링/프리징이라는 말만으로는 정확히 어느 정도 심한지 알 수 없다. 따라서, 객관적 증거가 필요한 상황이라면 정확한 측정을 해보는 것이 좋다. 실시간 평균 프레임 측정으로는 잘 잡히지 않는 미세한 랙이 반복되는 현상을 따로 마이크로스터터링이라고도 한다. 엔비디아(NVIDIA)가 이걸 이용해서 경쟁사를 곤경에 빠뜨린 적도 있다. 이후부터 이를 확인하기 위해 평균 프레임과 1% Low를 비교하는 방식을 주로 사용한다. 여기서 1% Low는 가장 높은 프레임부터 낮은 프레임까지 순서대로 정렬 후 최하위에서 딱 1%에 해당하는 값을 쓰는 방식이다. 근본적으로 중앙값과 같은 개념이지만 중앙(백분위 50%)이 아니라 하위 특정 위치(백분위 99%)를 사용한다는 점만 다르다. 따라서 평균값 대신 중앙값을 쓰는 경우가 왜 있는지를 알아야 1% Low의 의미를 더 정확히 알 수 있다. 1% Low는 상위 99%이기 때문에 99th 프레임이라고 쓰기도 하며, 0.1% Low도 같이 보여주는 곳도 있다. 초기엔 평균/최저/최고 프레임을 표기하는 방식이 주류였으나, 최저/최고 프레임은 단 한 프레임의 측정치라는 특성상 측정 오차가 심하게 날 수 있어서 처음부터 큰 의미를 부여받진 못했다. 그나마 최고 프레임은 사람의 체감 성능과 관계도 거의 없는 편이다. 그래서 엔비디아가 정확한 측정 툴인 FCAT(Frame Capture Analysis Tool)를 개발하여 마이크로스터터링 폭로 사건을 일으켰으나, 2 PC 녹화를 사후 분석하는 방식이라 비용상 대중화되지 못했다. 결국 효율적이면서도 신뢰도가 괜찮은 마이크로스터터링 분석 방식을 찾다 보니, 백분위수(percentile) 분석을 거쳐서 대세로 자리 잡은 방식이 1% Low이고, 더 민감하게 측정을 원할 경우 쓰는 게 0.1% Low인 것이다. 다만, 드물게 특이한 값(4% Low, 0.5% Low 등)을 쓰는 경우도 있다. 백분위수 및 1%, 0.1% Low는 편리하고 효율적이나, 완벽하진 않다. 단점은 벤치 구간을 너무 길게 잡으면 프레임이 안 나오는 구간에서 나온 스터터링 프레임들이 집계 대부분을 차지하게 되어서 나머지 구간 성능을 알 수 없게 된다는 점이다. 그리고 맵을 열거나 로딩이 나오는 구간이 들어가 버리면 해당 부분에서 체감 성능과 관계없는 스터터링 프레임들이 집계 대부분을 차지해서 이상하게 낮은 값이 나오게 된다. 따라서 해당 방법으로 마이크로스터터링을 정확히 측정하려면, 측정할 구간을 정확히 정하고 체감 성능과 상관없는 동작을 피해야 된다. 특히 맵이나 메뉴를 연다거나, 전체 화면 로딩 스크린이 나오면 안 된다.[1] 각주[편집]
참고자료[편집]
같이 보기[편집]
이 랙 (통신) 문서는 하드웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|