수정 버전 2: 더 적은 수의 연결을 위해 다시 디자인
이 수정 버전에서는 불필요한 연결을 제거하기 위해 샘플 애플리케이션이 다시 디자인되었습니다.
경고
또한 이 애플리케이션의 예제는 코드 변경으로 가능한 성능 향상을 설명하기 위해 의도적으로 성능 저하를 제공합니다. 애플리케이션에서 이 코드 샘플을 사용하지 마세요. 설명 용도로만 사용됩니다.
ComputeNext( Map );
bind( s, ... );
connect( s, ... );
for(int i=0 ; i < ROWS ; ++i)
for(int j=0 ; j < COLS ; ++j)
{
BYTE tmp[3];
tmp[0] = i;
tmp[1] = j;
tmp[2] = Map[i][j];
send( s, tmp, 3 );
recv( s, &byRet, 1 );
}
closesocket( s );
나머지 문제
수정 버전 2의 변경 내용으로 업데이트당 하나의 연결만 만들도록 애플리케이션이 다시 디자인되었습니다. 애플리케이션에는 여전히 다음과 같은 성능 문제가 포함됩니다.
- 애플리케이션은 여전히 직렬화되고 수다스럽습니다.
- 응용 프로그램은 여전히 지방 디자인을 가지고; 이 디자인에는 작업이 필요하지 않은 많은 송신이 있습니다.
- 전송은 여전히 3바이트이며 스트리밍이 좋지 않습니다.
주요 성능 메트릭
다음 성능 메트릭은 RTT(왕복 시간), Goodput 및 프로토콜 오버헤드로 표현됩니다. 이러한 용어에 대한 설명은 네트워크 용어 항목을 참조하세요.
이 버전은 다음과 같은 성능 메트릭을 반영합니다.
- 셀 시간 — 1*RTT
- Goodput — 4바이트/RTT
- 프로토콜 오버헤드 — 96.8%
관련 항목