xinbc / jdiameter

Automatically exported from code.google.com/p/jdiameter
0 stars 0 forks source link

Diameter stack performance enhancements #21

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
We ran load tests against the Diameter MUX - at extreme high loads we found the 
FSM queue was growing at an increasing rate.  i.e. events were not being 
processed quickly enough of this queue

We made the following enhancements to solve this:
1.  Made the FSM queue processing multithreaded and associated thread safety
2.  Improved garbage collection
3.  Made TCP use non-blocking IO instead of blocking
4.  Added additional logging

What version of the product are you using? On what operating system?
JSLEE 2.7.0.FINAL 
Jdiameter 1.4.0.FINAL
Solaris

Please provide any additional information below.

Attached is a git diff - having some trouble with git diff so the effected 
files are:
org.jdiameter.client.api.router.IRouter.java
org.jdiameter.client.impl.controller.PeerImpl.java
org.jdiameter.client.impl.fsm.PeerFSMImpl.java
org.jdiameter.client.impl.router.RouterImpl.java
org.jdiameter.client.impl.transport.tcp.TCPClientConnection.java
org.jdiameter.client.impl.transport.tcp.TCPTransportClient.java
org.jdiameter.server.impl.MutablePeerTableImpl.java
org.jdiameter.server.impl.PeerImpl.java
org.jdiameter.server.impl.fsm.PeerFSMImpl.java
org.jdiameter.server.impl.io.tcp.NetworkGuard.java

changes should be preceded with //PCB

Original issue reported on code.google.com by richard....@smilecoms.com on 30 Oct 2012 at 12:53

Attachments:

GoogleCodeExporter commented 9 years ago
Richard, thanks for this contribution. I've cleaned a bit the patch from 
whitespaces and format changes. Here's a cleaned and updated to current git 
master version (use "git diff --ignore-all-space" next time :)).

I've split into several issues in order to be able to discuss each set of 
changes more accurately. This issue will serve as an umbrella issue for those.

Original comment by brainslog on 13 Nov 2012 at 2:49

Attachments:

GoogleCodeExporter commented 9 years ago
This issue was updated by revision 323bd68b51b1.

Committed logging for TCPClientConnection

Original comment by brainslog on 8 Jan 2013 at 11:17

GoogleCodeExporter commented 9 years ago
This issue was updated by revision 88cbbd4609f7.

Committed remaining changes.

Original comment by brainslog on 9 Jan 2013 at 2:08