먼저 GRPC 클라이언트 - 서버 구현과 웹 소켓 + 클라이언트 - 서버 구현 간의 처리량/대기 시간에 대한 성능 비교를 수행 한 사람이 있습니까? 아니면 적어도 비슷한 것.GRPC 서버 응답 대기 시간
이 목표를 달성하기 위해 예제 JAVA helloworld grpc client-server를 시험해보고 응답 대기 시간을 유사한 websocket 클라이언트 서버와 비교하려고합니다. 현재 내 로컬 컴퓨터의 클라이언트와 서버 모두에서이 작업을 시도하고 있습니다.
websocket client-server에는 서버 측에서 간단한 while 루프가 있습니다. grpc 서버의 경우 비동기 실행 모델을 사용합니다. 클라이언트 요청마다 새로운 스레드가 생성되어 추가 처리 오버 헤드가 발생합니다. 예를 들어, 측정중인 websocket 응답 대기 시간은 6-7ms이며 grpc 예제는 약 600-700ms의 대기 시간을 보여 주므로 프로토 부프 오버 헤드를 고려합니다.
grpc와 유사한 비교를 수행하려면 grpc 서버를 동 기적으로 실행하는 방법이 있습니까? 비동기 처리에 의해 도입 된 스레드 생성/디스패치 및 기타 내부 오버 헤드의 오버 헤드를 제거 할 수 있기를 원합니다.
grpc에 포함 된 protobuf 오버 헤드가 websocket 클라이언트 - 서버 예제에없는 것을 이해합니다. 그러나 나는 protobuf 처리에 의해 도입 된 오버 헤드를 측정함으로써이를 설명 할 수있다.
또한, 내가 동기로 grpc 서버를 실행할 수 없다면 적어도 스레드 디스패치/비동기 처리 오버 헤드를 측정 할 수 있습니까?
나는 비교적 새로운 JAVA이기 때문에 내 무지를 용서해 준다.