Comment #4 on issue 23 by [email protected]: Diameter Stack: Improve Diameter Router (Performance & Footprint)
http://code.google.com/p/jdiameter/issues/detail?id=23

Hi,
In response to your 3 queries:

1) We were having collisions with HbH resulting in timeouts being experienced by clients (no response being sent as the router could not find a route). The concatenation of 3 strings is statistically insignificant compared to all the other processing.

2) Again, this has minimal performance impact on a per transaction basis as the map is fairly small (only storing inflight entries). The old mechanism of doing a periodic reaping was killing performance as under high throughput (say 3000 tps), the reaping would happen fairly often and cause pauses that would cascade across the entire test and cause timeouts. This was exacerbated by the FSM being single threaded. Also, the reaping ended up sometimes removing inflight requests, again resulting in client timeouts.

3) I agree... (its a hack ;-) ) I only added that code in case there was some form of "leak". I never saw this code actually being used but kept it there just in case.

To be honest, the router changes were made in a bit of a rush when we were performance testing and saw the the router as it was could not deal with such high throughput (even with a huge map size). One these changes were made, it was as smooth as silk. I'm sure there may be more elegant solutions, but we left this one as you see it... cause it was working ;-)

Reply via email to