Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update benchmark branch with latest develop #168

Merged

Conversation

erikh360
Copy link
Collaborator

@erikh360 erikh360 commented Jan 19, 2018

Most of the commit are from the develop branch so it doesn't need a full review, the two relevant ones are:
cdc0e66
14c1112

smn and others added 30 commits July 10, 2017 10:26
…docs

Messages API endpoint documentation is incomplete
Add newline so reStructuredText renders correctly
"host": "redis",
"db": 2,
"port": 6379
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we getting rid of this redis configuration?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added it when I was running redis, rabbit and Junebug using docker-compose. I ended up running jb directly which meant the default localhost was fine.

@@ -112,7 +100,7 @@ def _wait_for_channel_start(self):

def delete_ussd_channel(self, channelid):
self.conn.request(
"DELETE", '/channels/%s' % channelid)
"DELETE", '/channels/%s' % channelid, json.dumps({}))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little unsure why we need a body here? Since it's a delete request.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The delete was failing and started working when I added this. Doesn't really make sense. Let me try without it and see.

@rudigiesler
Copy link
Contributor

rudigiesler commented Jan 24, 2018

Benchmarks to show influence of routing (type=USSD, concurrency=10, num_messages=1000):
Normal messaging:

Average throuhput: 63msgs/s
Average latency: 156.4ms 95% latency: 195.3ms, 99% latency: 212.6ms

Routing messaging:

Average throuhput: 49msgs/s
Average latency: 200.2ms 95% latency: 249.2ms, 99% latency: 302.9ms

About a 22% reduction in throughput.

@rudigiesler
Copy link
Contributor

Running benchmarks on pypy (type=USSD, concurrency=10, num_messages=2000, warmup=1000)
Normal messaging:

Average throuhput: 74msgs/s
Average latency: 131.9ms 95% latency: 202.1ms, 99% latency: 281.7ms

Routing messaging:

Average throuhput: 54msgs/s
Average latency: 181.2ms 95% latency: 243.3ms, 99% latency: 454.4ms

Routing messaging with 100 destinations:

Average throuhput: 45msgs/s
Average latency: 217.2ms 95% latency: 348.0ms, 99% latency: 401.1ms

So about a 27% reduction in throughput when using routing, and 39% throughput reduction when having 100 destinations configured.

@erikh360 erikh360 merged commit f1c07d0 into feature/issue-82-benchmarking Jan 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants