Python implemenation of GoogleProtobuf Services(RPC). Uses ZeroMQ for transport layer. Server uses Gevent for threading.
https://developers.google.com/protocol-buffers/docs/proto#services
- python2.7
- Virtualenv 1.11.6
- protoc 2.5.0 (https://code.google.com/p/protobuf/downloads/list)
make allThis is done as part of make all but to explicitly build protobufs:
make pb2_compilemake testmake test-servermake test-clientmake packagePing-Pong hammer tests for 10K requets.
Environment: EC2, c1.medium instance, ubuntu-precise image:
See: protobuf-rpc/tests/load_test/hammer.py
HTTP:
Total Elapsed time (sec): 24.0618028641
Average Request time (ms): 2.40618028641
RPC Direct Connections:
Total Elapsed time (sec): 2.44900202751
Average Request time (ms): 0.244900202751
RPC with ELB:
Total Elapsed time (sec): 3.47903800011
Average Request time (ms): 0.347903800011