{"id":16478471,"url":"https://github.com/batazor/mq-benchmark","last_synced_at":"2026-06-05T21:31:18.822Z","repository":{"id":45095810,"uuid":"151079463","full_name":"batazor/MQ-benchmark","owner":"batazor","description":"Benchmarks of MQ services for microservice projects","archived":false,"fork":false,"pushed_at":"2023-06-21T08:06:19.000Z","size":1368,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T06:13:04.288Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://batazor.github.io/MQ-benchmark/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/batazor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-01T11:44:50.000Z","updated_at":"2023-03-18T07:56:25.000Z","dependencies_parsed_at":"2024-06-20T23:03:19.365Z","dependency_job_id":"71f11a11-6781-485c-847a-dc3cd9c39c16","html_url":"https://github.com/batazor/MQ-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2FMQ-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2FMQ-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2FMQ-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2FMQ-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batazor","download_url":"https://codeload.github.com/batazor/MQ-benchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241150237,"owners_count":19918334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T12:49:27.140Z","updated_at":"2025-02-28T12:18:43.068Z","avatar_url":"https://github.com/batazor.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MQ-benchmark\n\nBenchmarks of MQ services for microservice projects\n\n==========================================================================================\n\n### AMQP\n\nPing: 15,420/s\nPong: 15,428/s\n\n##### Props\n\n+ We used it\n+ Clusterization\n+ Federation\n+ UI\n+ Durable\n\n==========================================================================================\n\n### NATS\n\n##### Pub/Sub\n\nPing: 50,000+/s\nPong: 50,000+/s\n\n##### Request/Pepley\n\nPing: 50,000+/s\nPong: 50,000+/s\nCorrelation: 1:1\n\n##### Props\n\n+ Pub/Sub\n+ Request/Pepley\n\n### NATS Streaming\n\n###### `Starting benchmark [msgs=1000000, msgsize=128, pubs=1, subs=0]`\n\n```\nPub stats: 4,837 msgs/sec ~ 604.70 KB/sec\n```\n\n###### `Starting benchmark [msgs=100000, msgsize=128, pubs=0, subs=1]`\n\n```\nSub stats: 263,726 msgs/sec ~ 32.19 MB/sec\n```\n\n###### `Starting benchmark [msgs=1000000, msgsize=4, pubs=1, subs=0]`\n\n```\nPub stats: 4,970 msgs/sec ~ 19.42 KB/sec\n```\n\n###### `Starting benchmark [msgs=1000000, msgsize=128, pubs=10, subs=0]`\n\n```\nPub stats: 19,528 msgs/sec ~ 2.38 MB/sec\n [1] 1,956 msgs/sec ~ 244.51 KB/sec (100000 msgs)\n [2] 1,955 msgs/sec ~ 244.49 KB/sec (100000 msgs)\n [3] 1,955 msgs/sec ~ 244.47 KB/sec (100000 msgs)\n [4] 1,955 msgs/sec ~ 244.47 KB/sec (100000 msgs)\n [5] 1,955 msgs/sec ~ 244.40 KB/sec (100000 msgs)\n [6] 1,954 msgs/sec ~ 244.37 KB/sec (100000 msgs)\n [7] 1,954 msgs/sec ~ 244.26 KB/sec (100000 msgs)\n [8] 1,953 msgs/sec ~ 244.18 KB/sec (100000 msgs)\n [9] 1,953 msgs/sec ~ 244.15 KB/sec (100000 msgs)\n [10] 1,952 msgs/sec ~ 244.11 KB/sec (100000 msgs)\n min 1,952 | avg 1,954 | max 1,956 | stddev 1 msgs\n```\n\n###### `Starting benchmark [msgs=1000000, msgsize=128, pubs=100, subs=0]`\n\n```\nPub stats: 29,505 msgs/sec ~ 3.60 MB/sec\n```\n\n###### `Starting benchmark [msgs=1000000, msgsize=128, pubs=10, subs=10]`\n\n```\nNATS Streaming Pub/Sub stats: 143,090 msgs/sec ~ 17.47 MB/sec\n Pub stats: 13,035 msgs/sec ~ 1.59 MB/sec\n  [1] 1,345 msgs/sec ~ 168.18 KB/sec (100000 msgs)\n  [2] 1,327 msgs/sec ~ 165.89 KB/sec (100000 msgs)\n  [3] 1,326 msgs/sec ~ 165.87 KB/sec (100000 msgs)\n  [4] 1,326 msgs/sec ~ 165.80 KB/sec (100000 msgs)\n  [5] 1,317 msgs/sec ~ 164.73 KB/sec (100000 msgs)\n  [6] 1,313 msgs/sec ~ 164.16 KB/sec (100000 msgs)\n  [7] 1,311 msgs/sec ~ 163.88 KB/sec (100000 msgs)\n  [8] 1,310 msgs/sec ~ 163.80 KB/sec (100000 msgs)\n  [9] 1,310 msgs/sec ~ 163.75 KB/sec (100000 msgs)\n  [10] 1,303 msgs/sec ~ 162.99 KB/sec (100000 msgs)\n  min 1,303 | avg 1,318 | max 1,345 | stddev 11 msgs\n Sub stats: 384,791 msgs/sec ~ 46.97 MB/sec\n  [1] 39,592 msgs/sec ~ 4.83 MB/sec (1000003 msgs)\n  [2] 39,229 msgs/sec ~ 4.79 MB/sec (1000003 msgs)\n  [3] 39,171 msgs/sec ~ 4.78 MB/sec (1000003 msgs)\n  [4] 38,724 msgs/sec ~ 4.73 MB/sec (1000003 msgs)\n  [5] 38,660 msgs/sec ~ 4.72 MB/sec (1000003 msgs)\n  [6] 38,595 msgs/sec ~ 4.71 MB/sec (1000003 msgs)\n  [7] 38,608 msgs/sec ~ 4.71 MB/sec (1000003 msgs)\n  [8] 38,590 msgs/sec ~ 4.71 MB/sec (1000003 msgs)\n  [9] 38,567 msgs/sec ~ 4.71 MB/sec (1000003 msgs)\n  [10] 38,531 msgs/sec ~ 4.70 MB/sec (1000002 msgs)\n  min 38,531 | avg 38,826 | max 39,592 | stddev 348 msgs\n```\n\n##### Props\n\n+ ASK\n+ Speed limit\n+ Durable\n\n==========================================================================================\n\n### NSQ\n\n```\nPublish ~5.000 (1 instance)\nPublish ~35.000 (3 instance)\nSubscribe 30.000+ (1 instance, 10 gourutines)\n```\n\n###### Official\n\n```\n# using --mem-queue-size=1000000 --data-path= --size=200 --batch-size=200\nPUB: [bench_writer] 2018/10/03 17:30:50 duration: 10.142364618s - 4.664mb/s - 24451.892ops/s - 40.897us/op\nSUB: [bench_reader] 2018/10/03 17:31:00 duration: 10.078608328s - 4.693mb/s - 24606.572ops/s - 40.640us/op\n```\n\n```\n# using --mem-queue-size=1000000 --data-path= --size=4 --batch-size=200\nPUB: [bench_writer] 2018/10/03 17:34:35 duration: 10.004104975s - 0.134mb/s - 35245.532ops/s - 28.372us/op\nSUB: [bench_reader] 2018/10/03 17:34:45 duration: 10.044196769s - 0.134mb/s - 35120.081ops/s - 28.474us/op\n```\n\n==========================================================================================\n\n### gRPC\n\n```\n./run_bench.sh -c 1 -req 4\nqps: 5920.2\nLatency: (50/90/99 %ile): 163.26µs/194.137µs/284.877µs\nClient CPU utilization: 17.196106652s\nServer CPU utilization: 19.055712769s\n```\n\n```\n./run_bench.sh -c 10 -req 4\nqps: 28674.7\nLatency: (50/90/99 %ile): 289.996µs/468.852µs/1.511479ms\nClient CPU utilization: 32.523916725s\nServer CPU utilization: 36.774488391s\n```\n\n```\n./run_bench.sh -c 10 -req 200\nqps: 25125.1\nLatency: (50/90/99 %ile): 317.85µs/566.331µs/1.946365ms\nClient CPU utilization: 30.203881793s\nClient Mem Profile: /tmp/client_r_1_c_10_req_200_resp_1_unary_1538578093.mem\nServer CPU utilization: 34.315704453s\n```\n\n```\n./run_bench.sh -c 10 -req 200 -rpc_type streaming\nqps: 63071.5\nLatency: (50/90/99 %ile): 132.782µs/214.27µs/628.471µs\nClient CPU utilization: 35.75503333s\nServer CPU utilization: 34.555893605s\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatazor%2Fmq-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbatazor%2Fmq-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatazor%2Fmq-benchmark/lists"}