Giter VIP home page Giter VIP logo

grpc_benchmark's Introduction

grpc_benchmark

gRPC와 REST의 벤치마크를 위한 테스트를 진행합니다.

테스트 방식

테스트방식은 클라이언트에서 10, 30, 50, 100MB의 파일을 서버로 업로드하고,
서버에서는 해당 파일을 Base64로 Encoding하여 Reponse합니다.
테스트는 단일 쓰레드로 요청과 10개의 쓰레드로 동시 요청을 테스트 합니다. gRPC 서버의 경우 worker의 갯수를 1개, 10개로 테스트 합니다. 또한 gRPC의 경우 stream을 이용한 방식도 테스트를 합니다.

테스트 실행 방법

./run_test.sh을 실행하면 됩니다.
쉘 스크립트에서는 test_sample 폴더에 샘플 파일이 없을경우 파일을 생성하고
각각 서버와 클라이언트 코드를 실행한 후 시간을 테스트하여 결과 파일을 생성합니다.

주의 사항

8090, 50051 포트를 사용합니다.
만약 해당 포트를 사용하고 있다면 강제로 종료합니다.

결과

방식 10MB 30MB 50MB 100MB
REST 단일 요청 0.21 0.62 1.01 2.07
REST 10개 동시 요청 1.64 5.66 9.34 19.01
gRPC(worker 1) 단일 요청 0.08 0.29 0.45 0.87
gRPC(worker 1) 10개 동시 요청 0.35 1.75 3.02 6.38
gRPC(worker 10) 단일 요청 0.07 0.26 0.39 0.90
gRPC(worker 10) 10개 동시 요청 0.44 1.94 3.43 6.97
gRPC_chunk(worker 1) 단일 요청 0.04 0.10 0.16 0.24
gRPC_chunk(worker 1) 10개 동시 요청 0.32 0.89 1.36 5.04
gRPC_chunk(worker 10) 단일 요청 0.04 0.15 0.12 0.22
gRPC_chunk(worker 10) 10개 동시 요청 0.57 1.14 1.75 3.69

grpc_benchmark's People

Contributors

parkilwoo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.