mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mauritz Lovgren (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DIRMINA-681) Strange CPU peak occuring at fixed interval when several thousand connections active
Date Tue, 16 Feb 2010 12:01:29 GMT

    [ https://issues.apache.org/jira/browse/DIRMINA-681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834180#action_12834180
] 

Mauritz Lovgren commented on DIRMINA-681:
-----------------------------------------

Ran a new loadtest today (on trunk RC2 revision 909546).
I have removed all home-grown executor filters etc etc to run NioAcceptor with standard CORE
mina defaults only.

8500 clients connecting to one NioAcceptor configured to run using 1 thread (new NioSocketAcceptor(1))
just to keep things simple.
The clients are all running on a separate machine from the server. 1Gb LAN, but very small
messages and low bandwidth needed for test.
The clients connect and thereafter send a simple IsAlive message upon idle timeout (120 seconds)
and stay connected forever.
The clients are connecting at a rate of about 10 clients per second.

My observations are as follows:

- At startup everyting looks ok with only two MINA threads running, the NioAcceptor and one
NioProcessor.
- As clients log on, the WindowSelectorImpl somehow recons that it needs to start SelectorThread
instances to cope with traffic (?).
  After about each 1000 connections, a new selector thread is created.
- The WindowSelectorImpl$SelectorThread instances are linearly causing CPU overhead after
they are created. Before they exist, no extra CPU is seen.
- The profiler claims that the bit of code that is causing the CPU overhead is within the
sun.nio.ch.WindowSelectorImpl$SubSelector.poll0() method which is called by each SelectorThread.run().

Could MINA somehow be (mis)using the select() in a way that causes this situation to occur?
(E.g. calling it too often, or not handling the select keys properly etc etc).
And, I wonder if this might be the epoll bug at all?


> Strange CPU peak occuring at fixed interval when several thousand connections active
> ------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-681
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-681
>             Project: MINA
>          Issue Type: Task
>          Components: Core
>    Affects Versions: 2.0.0-M4, 2.0.0-RC1
>         Environment: Windows Vista Ultimate 64-bit (on 64-bit Sun JDK 1.6.0_18). Intel
Core 2 Quad Core Q9300 2,5 GHz, 8 GB RAM
>            Reporter: Mauritz Lovgren
>             Fix For: 2.0.0
>
>         Attachments: screenshot-1.jpg, screenshot-2.jpg, screenshot-3.jpg, screenshot-4.jpg
>
>
> Observing strange CPU activity occuring at regular (seemingly fixed) interval with no
protocol traffic activity.
> See attached window capture of task manager that shows this with 3000 active connections.
> Is there some kind of cleanup occuring within MINA core at a predefined interval?
> The 3000 connections in the example above connects within 250 seconds. A normal situation
would be that these connections are established over a longer period of time, perhaps spreading
the CPU peaks shown above as well, flattening the curve.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message