실시간은 얼마나 빠를까요? 인간의 지각과 기술

PubNub Developer Relations - Dec 13 '23 - - Dev Community

1968년 로버트 밀러는 컴퓨터 메인프레임의 응답 속도를 세 가지로 나누어 설명한 고전적인 논문 ' 인간과 컴퓨터 간 대화 트랜잭션의 응답 시간'을 발표했습니다:

  1. 100ms의 응답 시간은 즉각적인 것으로 인식됩니다.

  2. 1초 이하의 응답 시간은 사용자가 정보와 자유롭게 상호작용하고 있다고 느낄 만큼 충분히 빠릅니다.

  3. 응답 시간이 10초를 초과하면 사용자의 관심을 완전히 잃게 됩니다.

이로부터 밀러는 일관된 2초의 응답이 이상적이라는 결론을 내렸습니다. 몇 년 후 2초라는 동일한 값이 웹 기반 애플리케이션의 성능 목표로 사용되었습니다. 그러나 오늘날의 실시간 애플리케이션은 거의 즉각적인 응답성을 요구합니다. 100밀리초도 충분할까요? 상황에 따라 답은 달라집니다.

사람이 입력을 얼마나 빨리 처리할 수 있을까요?

인간은 시간의 흐름을 관찰하고 경험할 수 있는 호기심 많은 선천적 능력을 가지고 있습니다. 하지만 인간 두뇌의 구조는 특정 짧은 시간 내에 지각에 반응하지 못하도록 감각적 인식을 제한합니다. 이 시간대를 일반적으로 반응 시간이라고 합니다.

인간의 반응 시간

인간의 평균 반응 시간은 약 1/4초(250밀리초) 정도입니다. 믿기지 않나요? 이 간단한 테스트를 통해 자신의 반응 시간을 테스트해 보세요.

아시다시피, 어떤 사람들은 다른 사람들보다 반응 시간이 더 빠릅니다. 전투기 조종사, 포뮬러 원 드라이버, 챔피언십 비디오 게임 플레이어는 곡선의 왼쪽에 있는 100~120ms 버킷에 속합니다.

이 시간 중 데이터를 수신하는 데 소요되는 시간과 데이터를 정신적으로 처리하고 신체적으로 반응하는 데 소요되는 시간은 얼마나 될까요?

실시간 지연 시간: 눈에서 뇌로

반응 시간은 복잡한 주제이며 다음과 같은 여러 가지 정신적 처리 요소를 포함합니다:

  • 감각 인식

  • 의식에 입력되는 정보 수신

  • 입력에 적용되는 컨텍스트

  • 처리 결과에 따른 의사 결정

인간의 뇌에서 실시간이 얼마나 빠른지 이해하기 위해 감각 지각 단계에 초점을 맞추겠습니다. 감각 지각 단계는 시각이든 청각이든 외부에서 들어오는 데이터를 감각이 받아들이는 단계입니다.

예를 들어, 망막에 도착한 호랑이 이미지가 시신경을 따라 시각 피질로 이동하는 데 걸리는 시간은 놀라울 정도로 빠릅니다. 새로운 연구에 따르면 인간은 13밀리초 (초당 약 75프레임의 1초) 정도의 짧은 시간 동안 보이는 시각적 신호를 해석할 수 있다고 합니다.

뇌가 들어오는 데이터 스트림을 수신하면 비동기 프로세스를 통해 입력을 인식하고 이를 의식으로 받아들입니다. 이제 들어오는 데이터 스트림을 인식한 뇌의 다른 부분이 스트림에 컨텍스트를 적용하여 어떻게 반응할지 결정합니다. 이 모든 과정은 매우 빠르게 이루어집니다.(고양이는 거의 두 배나 빠릅니다.)

원치 않는 지연 시간은 인간의 성능에 어떤 영향을 미치나요?

인간의 반응 시간에는 단순한 정신적 처리보다 더 많은 것이 관여하지만, 여기서 중요한 개념은 다음과 같습니다:

1. 인간이 들어오는 시각적 자극을 처리할 수 있는 가장 빠른 속도는 약 13ms입니다. 이보다 더 빠른 데이터 스트림을 수신하는 것은 인간의 지각의 한계를 강조할 뿐입니다.

2. 지연 시간이 13ms 이상으로 증가하면 특정 작업의 수행 능력에 점점 더 부정적인 영향을 미칩니다. 처음에는 눈에 띄지 않지만, 지연 시간이 증가하면 75~100ms에 가까워질 때까지 인간의 처리 능력이 계속 저하됩니다. 이때 인간은 입력이 너무 느려졌다는 것을 매우 의식하게 되고, 단순히 입력에 반응하기보다는 입력을 예측하여 조건에 적응해야만 하는 상황에 처하게 됩니다.

예를 들어 결투에서는 100ms의 지연이 중요합니다. 특히 무작위적이고 예측할 수 없는 경우라면 더욱 그렇습니다.

실시간 애플리케이션 개발자를 위한 시사점

실시간 애플리케이션은 데이터 스트림 지연 시간에 대한 허용 오차가 다양합니다. 일반적으로 매우 까다로운 목표를 가진 애플리케이션에는 다음과 같은 것들이 포함됩니다:

이러한 유형의 애플리케이션은 사람의 실시간 인식과 상호작용이 필요합니다. 이러한 유형의 애플리케이션을 지원하기 위해 실시간 데이터 스트림 네트워크를 구축하고 유지하는 데 필요한 리소스를 고려할 때, 많은 개발자가 애플리케이션 자체에 더 집중하기 위해 메시징 계층을 아웃소싱하는 전략적 결정을 내립니다.

온라인 게임

턴제 게임, 롤플레잉 및 전략 게임은 일반적으로 실시간 움직임이나 액션에 의존하지 않으며 최대 500ms 이상의 지연 시간을 견딜 수 있지만, 대규모 멀티플레이어 온라인 게임 (MMOG)의 경우 실시간성이 필수입니다.

온라인 게임이 발전함에 따라 플레이어는 더욱 몰입감 있고 생생한 경험을 제공하는 게임을 찾습니다. 이러한 수요를 충족하기 위해 개발자는 이제 매우 엄격한 데이터 스트림 지연 시간 요건을 갖춘 매우 사실적인 환경에서 게임을 제작해야 합니다:

  • 300ms <게임 플레이 불가

  • 150ms <게임 플레이 품질 저하

  • 100ms < 플레이어 성능에 영향

  • 50ms > 목표 성능

  • 13ms > 감지 가능한 하한

100ms만 지연되어도 Twitch 게임에서 플레이어의 성능이 측정 가능한 수준으로 저하됩니다. 타겟을 효과적으로 추적하기가 눈에 띄게 어려워지고 플레이어가 움직임을 예측해야 합니다.

지연 시간이 길어지면 전반적인 게임의 즐거움은 계속 감소하고, 플레이어는 재생이 끊기거나 고스트 현상, 동기화되지 않는 동작을 경험하게 되어 결국 모든 플레이어의 게임을 망치게 됩니다.

이러한 변수를 고려할 때 성공적인 MMOG 아키텍처는 게이머의 체감 품질을 보장하기 위해 네트워크 성능을 기본 요구 사항으로 고려해야 합니다. 이러한 아키텍처는 50ms 이상의 낮은 지연 시간으로 수천 개의 데이터 스트림을 동시에 전송할 수 있어야 하며, 더 까다롭게는 다양한 지역, 다양한 접속 네트워크, 다양한 디바이스를 사용하는 플레이어를 위해 대규모로 전송할 수 있어야 합니다.

"PubNub을 사용하면 애플리케이션을 지원하는 백본 네트워크와 그에 수반되는 걱정 대신 애플리케이션에만 집중할 수 있습니다. 백본 네트워크가 실행 중이고 메시지를 전송하는지 확인하기 위해 전체 모니터링 시스템을 설정할 필요가 없다는 사실이 놀랍습니다. 충돌, 하드웨어 재부팅, 걱정거리가 없습니다."라고 NodeCraft Hosting의 공동 설립자이자 운영 매니저인 James Ross는 말합니다.

입찰 및 경매

경매에서는 모든 순간이 중요합니다. 성공 여부는 모든 입찰자가 전 세계 어디에서든 원활하고 안정적인 실시간 참여가 가능하다고 느끼게 하는 데 달려 있습니다. 실시간 알림, 경고, 업데이트와 같은 실시간 기능을 제공하는 데 적합한 엔드투엔드 플랫폼을 갖추는 것은 사용자 경험에서 필수적인 부분입니다.

안정적이고 확장 가능한 플랫폼 솔루션이 온라인 경매 성공의 열쇠인 이유는 다음과 같습니다:

  • 사용자가 경매 중 새로운 입찰이나 기타 진행 상황을 모두 파악하고 있다는 확신을 갖게 하여 입찰 여부에 대한 다음 결정을 내릴 수 있도록 합니다.

  • 잠재적 입찰자의 참여를 극대화하여 최고 입찰가를 높이는 데 기여합니다.

  • 경매와 경매를 진행하는 조직의 신뢰도를 강화합니다.

  • 실제 대면 경매와 같은 생생하고 경쟁적인 느낌을 전달하여 입찰자의 지속적인 참여를 유도합니다.

실시간 협업

실시간 데이터 활용의 또 다른 흥미로운 예는 온라인 학습 및 협업 분야입니다. 온라인 강의실에서는 기기 간의 안정적인 실시간 통신이 필수적입니다. 집중력이 짧은 학생들로 가득 찬 교실에서 수업을 진행할 때는 디바이스 간에 가능한 한 빨리 신호를 주고받을 수 있어야 합니다. 그렇지 않으면 전체 학생의 집중력을 잃게 됩니다. 하지만 실시간 데이터 스트림 네트워크 설계는 대부분 외부의 핵심 역량입니다.

"이 일을 할 사람을 고용해야 할지, 팀 규모를 늘려야 할지, 결국에는 앉아서 '우리 비즈니스의 핵심은 이런 것이 아니다'라고 생각했습니다. 비즈니스 과제에 집중해야 할 시기에 실시간 작업을 위해 많은 돈과 시간을 소비해서는 안 된다는 생각이 들었습니다. 실시간은 우리 비즈니스의 필수 요건이었지만 우리가 해결해야 할 비즈니스 과제는 아니었습니다 ."라고클래스도조의 공동 창립자이자 CTO인 리암 돈(Liam Don)은 말합니다.

라이브 엔터테인먼트

성공적인 가상 이벤트의 특징은 청중이 공연자뿐만 아니라 서로 소통하는 것입니다. 하지만 가상 이벤트가 현실의 일부가 된 지 몇 년이 지났다고 해서 모든 이벤트 주최자(또는 플랫폼)가 참여형 인터랙티브 이벤트에 필요한 기능을 제공한다는 의미는 아닙니다.

개발자가 가상 이벤트용 앱을 구축할 때 염두에 두어야 할 몇 가지 주요 기능은 다음과 같습니다:

  • 참석 여부, 반응, 입력 표시기와 같은 기능을 갖춘 인앱 채팅 기능

  • 시청자가 쇼의 한 순간도 놓치지 않도록 하는 알림 및 경고, 다른 참가자의 메시지 알림 기능

  • 무제한 대화 스트림 및 동시 사용자 수로 이벤트가 너무 성공적으로 진행되어 충돌이 발생할까 걱정할 필요가 없습니다.

  • 유연한 실시간 욕설 필터링 및 번역 기능으로 참가자가 어디에 있든 정중하게 소통할 수 있습니다.

  • 실시간으로 동기화되는 대화형 설문조사, 퀴즈, 리더보드를 통해 청중의 흥미를 유발하고 진정한 참여를 유도할 수 있습니다.

PubNub 및 실시간

실시간 데이터 API는 유연하기 때문에 이러한 기능을 신속하게 배포할 수 있습니다. 또한, 전 세계에서 사용 가능한 메시징 인프라를 통해 앱과 요구사항의 발전에 따라 확장할 수 있습니다. 시작은 간단합니다. 궁금한 점이 있으면 전 세계에서 연중무휴 24시간 지원 서비스를 제공합니다. PubNub과 함께라면 지금 바로 실시간 구축을 시작할 수 있습니다.

PubNub이 어떤 도움이 될까요?

이 문서는 원래 PubNub.com에 게시되었습니다.

저희 플랫폼은 개발자가 웹 앱, 모바일 앱 및 IoT 기기를 위한 실시간 인터랙티브를 구축, 제공 및 관리할 수 있도록 지원합니다.

저희 플랫폼의 기반은 업계에서 가장 크고 확장성이 뛰어난 실시간 에지 메시징 네트워크입니다. 전 세계 15개 이상의 PoP가 8억 명의 월간 활성 사용자를 지원하고 99.999%의 안정성을 제공하므로 중단, 동시 접속자 수 제한, 트래픽 급증으로 인한 지연 시간 문제를 걱정할 필요가 없습니다.

PubNub 체험하기

라이브 투어를 통해 5분 이내에 모든 PubNub 기반 앱의 필수 개념을 이해하세요.

설정하기

PubNub 계정에 가입하여 PubNub 키에 무료로 즉시 액세스하세요.

시작하기

사용 사례나 SDK에 관계없이 PubNub 문서를 통해 바로 시작하고 실행할 수 있습니다.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .