2012-09-11 2 views
1

고객 시스템이 UDP 요청을 Google 서버로 보냅니다. 서버는 각 요청을 처리하고 응답을 보냅니다. 트랜잭션의 논리는 클라이언트가 새 요청을 보내기 전에 응답을 기다려야합니다.인터넷 대기 시간이 내 클라이언트를 시간당 120k 동기 트랜잭션으로 제한합니까?

클라이언트 및 서버 시스템의 모든 처리가 즉각적인 경우에도 고객이 인터넷을 통해 왕복 거래를 보내고 받기 위해서 평균 약 30ms가 필요합니다. (광속으로 약 5,580 마일을 여행하고 있습니다.)

평균적으로 주어진 고객은 시간당 약 120,000 회의 동기 트랜잭션을 처리 할 수 ​​없습니까? 당신이 귀하의 요청을 직렬화해야하기 때문에 최소

1 거래 = 0.030 초
120K 거래 = 1시간

+0

고객을 구별하는 질문 : 고객이 여러 고객으로 가장하고 여러 개의 동시지만 각 개별적인 일련의 트랜잭션 스트림을 가장 할 수없는 이유는 무엇입니까? –

+0

@ Steve-o : 계정 번호를 통해 로그인했기 때문에 위장 할 수 없으며 이전 거래가 완료되기 전에 계좌가 새로운 거래를 보내고 있는지 알 수 있습니다. –

답변

1

영향 대기 시간

의이 대기 시간은 트랜잭션 속도를 제한합니다.

그러나 빛의 계산 속도는 이론상 최적의 통과 시간입니다. 실생활에는 대기 시간을 추가하는 라우터가 있습니다.

실제 대기 시간을 얻으려면 며칠 동안 매일 여러 지점에서 실제 핑 시간을 측정하고 측정하십시오.

클라이언트 코드와 서버 코드가 제로 시간보다 짧게 처리되고 처리 시간이 지연 시간보다 길기 때문에 (실제로 수행 한 작업에 따라 다름) 현실적이지 않을 수 있습니다 처리 시간이 0에 가까워 진다고 가정합니다.

요즘 대기 시간을 극복

, 고객에게 더 가까이 서버 (또는 아키텍처의 적어도 층) 넣어 매우 저렴 여러 가지 방법이 있습니다. 예를 들어 AWS과 같은 서비스를 사용하여 고객과 지리적으로 근접하여 처리 리소스를 배치 할 수 있습니다. 그런 다음 예를 들어 West Coast 고객은 East Coast 고객과 다른 URL을 사용하거나 지리적로드 균형 조정을 사용하여 모든 사람이 같은 URL을 사용할 수 있습니다.로드 균형 조정 서비스는 전 세계 최고의 서버로 트래픽을 라우팅합니다. 나는 그 목적을 위해 과거에 UltraDNS을 성공적으로 사용했다.

+0

"새로운 요청을 보내기 전에 응답을 기다리는 클라이언트 (has)"를 인용하기 위해 트랜잭션 제한이 여기에 제한된다는 점은 분명합니다. –

+0

@ Steve-o : 아마도 질문에 답하기 전에 커피 한 잔 마쳐야 할 것 같습니다. 과거를 읽으십시오. 나는 적절하게 업데이트 할 것이다. –

관련 문제