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

Deliver Receipts do not scale #2

Open
krasa opened this issue Apr 15, 2015 · 5 comments
Open

Deliver Receipts do not scale #2

krasa opened this issue Apr 15, 2015 · 5 comments

Comments

@krasa
Copy link
Contributor

krasa commented Apr 15, 2015

While I was able to send +10000 MT/s via 40 transmitters, only ~1500 DR/s was coming back through 40 receivers. A lot of time was spent waiting on java.util.concurrent.DelayQueue

imho every SmscSmppSessionHandler should have its own DelayedRequestSenderImpl

I will provide a pull request if you want.

@MavoCz
Copy link
Owner

MavoCz commented Apr 15, 2015

I never did any performance testing as I was sending low amounts of messages. The delayed request sender is shared among all sessions because in real scenario the delivery receipt could be sent using different connection (not sure if this is valid point in this scenario). I will have a look at this and will let you know.

@krasa
Copy link
Contributor Author

krasa commented Apr 16, 2015

So I tried to implement it
master...krasa:dr

Benchmark using 100 receivers and 100 transmitters:
old: 23 000 MT/s, 750 DR/s
new: 12 000 MT/s, 12 000 DR/s - the throughput is probably limited by my CPU now

@MavoCz
Copy link
Owner

MavoCz commented Apr 17, 2015

Thanks for that Vojta! That is a lot of code. I will try to get to it during weekend. What did you use to benchmark the simulator?

@krasa
Copy link
Contributor Author

krasa commented Apr 17, 2015

a lot of it is just code formatting :)

I used a little bit extended com.cloudhopper.smpp.demo.PerformanceClientMain, I will try to push it during weekend :)

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

No branches or pull requests

2 participants