[erlang-questions] Re: Unicast 20k messages, $500-$1000 bounty
Joel Reymont
joelr1@REDACTED
Thu Jul 16 21:11:15 CEST 2009
On Jul 16, 2009, at 6:18 PM, Cliff Moon wrote:
> The problem you're seeing there is process scheduling overhead. In
> the fun it sends a message and it's doing an ungodly amount of
> context switching. The way to get around this is to bump the
> process priority level of the process which iterates the ets table.
bumping priority to high before the broadcasting list comprehension
and lowering it after results in ~10ms broadcasting time and shaves
~300ms off max latency. Loving it!
Mac is at ~2s (one box for everything) and ec2 is ~2.7s when bots are
spread over 3 instances. It looks like process priority is a very
useful tool in one's toolbox.
(debug@REDACTED)4> bot:test(flashbot, 20000,
'ip-10-244-47-97', 8081).
=INFO REPORT==== 16-Jul-2009::19:05:18 ===
setup: 69312.72ms, good: 20000, bad: 0, run: 72269.01ms
315.0020ms | min
500.0000ms | 2019 - 10.10%
1000.0000ms | 3651 - 18.25%
1500.0000ms | 4433 - 22.17%
2000.0000ms | 5259 - 26.30%
2500.0000ms | 4057 - 20.29%
3000.0000ms | 581 - 2.90%
2713.3960ms | max
ok
(debug@REDACTED)5> bot:test(flashbot, 20000,
'ip-10-244-47-97', 8081).
=INFO REPORT==== 16-Jul-2009::19:08:37 ===
setup: 65606.03ms, good: 20000, bad: 0, run: 68362.39ms
328.4420ms | min
500.0000ms | 1361 - 6.80%
1000.0000ms | 4231 - 21.15%
1500.0000ms | 4477 - 22.38%
2000.0000ms | 4490 - 22.45%
2500.0000ms | 4051 - 20.26%
3000.0000ms | 1390 - 6.95%
2716.1440ms | max
ok
(debug@REDACTED)6> bot:test(flashbot, 20000,
'ip-10-244-47-97', 8081).
=INFO REPORT==== 16-Jul-2009::19:10:45 ===
setup: 99778.01ms, good: 19953, bad: 47, run: 104700.73ms
313.9300ms | min
500.0000ms | 1420 - 7.12%
1000.0000ms | 4553 - 22.82%
1500.0000ms | 3987 - 19.98%
2000.0000ms | 4777 - 23.94%
2500.0000ms | 4241 - 21.25%
3000.0000ms | 968 - 4.85%
3500.0000ms | 0 - 0.00%
4000.0000ms | 0 - 0.00%
4500.0000ms | 7 - 0.04%
4143.9490ms | max
ok
---
Mac hacker with a performance bent
http://www.linkedin.com/in/joelreymont
More information about the erlang-questions
mailing list