You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2007/03/27 19:54:32 UTC
[jira] Created: (SYNAPSE-86) Overcome resource limitations in
Windows systems due to use of Pipes when the NIO transport is used under
load
Overcome resource limitations in Windows systems due to use of Pipes when the NIO transport is used under load
--------------------------------------------------------------------------------------------------------------
Key: SYNAPSE-86
URL: https://issues.apache.org/jira/browse/SYNAPSE-86
Project: Synapse
Issue Type: Improvement
Components: Transports
Affects Versions: 1.0-RC1-B2
Environment: Windows
Reporter: Asankha C. Perera
Assigned To: Asankha C. Perera
On Windows Systems the java.nio.channels.Pipe implementation (sun.nio.ch.PipeImpl) uses a socket connection which is both expensive and resource intensive. This causes TCP ports to be exhausted when the NIO transport is being used under load. Linux and Solaris systems optimize this to native calls.
However, Synapse NIO transport must be able to perform well and unhindered even on operating systems like Windows ;-)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org
Re: [jira] Updated: (SYNAPSE-86) Overcome resource limitations in Windows systems due to use of Pipes when the NIO transport is used under load
Posted by ant elder <an...@gmail.com>.
I gave this a try and it works well for me with Win XP. I can run tens of
thousands of requests with no errors, and it seems about twice as fast as
before.
...ant
On 3/27/07, Asankha C. Perera (JIRA) <ji...@apache.org> wrote:
>
>
> [
> https://issues.apache.org/jira/browse/SYNAPSE-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Asankha C. Perera updated SYNAPSE-86:
> -------------------------------------
>
> Attachment: pipefix.patch
>
> This is a quick fix to the problem, re-using the buffered pipe code
> already available in the JDK through the PipedInputStream and
> PipedOutputStream. This patch would use the above pure Java pipe
> implementation on Windows but continue to use the native Pipe
> implementations on other operating systems where there are no issues.
>
> This patch is for review and comment by the community - as I know this is
> a simple and quick fix. Also this needs to be tested on Windows - Probably
> by Indika/Ant under load.
>
> > Overcome resource limitations in Windows systems due to use of Pipes
> when the NIO transport is used under load
> >
> --------------------------------------------------------------------------------------------------------------
> >
> > Key: SYNAPSE-86
> > URL: https://issues.apache.org/jira/browse/SYNAPSE-86
> > Project: Synapse
> > Issue Type: Improvement
> > Components: Transports
> > Affects Versions: 1.0-RC1-B2
> > Environment: Windows
> > Reporter: Asankha C. Perera
> > Assigned To: Asankha C. Perera
> > Attachments: pipefix.patch
> >
> >
> > On Windows Systems the java.nio.channels.Pipe implementation (
> sun.nio.ch.PipeImpl) uses a socket connection which is both expensive and
> resource intensive. This causes TCP ports to be exhausted when the NIO
> transport is being used under load. Linux and Solaris systems optimize this
> to native calls.
> > However, Synapse NIO transport must be able to perform well and
> unhindered even on operating systems like Windows ;-)
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-dev-help@ws.apache.org
>
>
[jira] Updated: (SYNAPSE-86) Overcome resource limitations in
Windows systems due to use of Pipes when the NIO transport is used under
load
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asankha C. Perera updated SYNAPSE-86:
-------------------------------------
Attachment: pipefix.patch
This is a quick fix to the problem, re-using the buffered pipe code already available in the JDK through the PipedInputStream and PipedOutputStream. This patch would use the above pure Java pipe implementation on Windows but continue to use the native Pipe implementations on other operating systems where there are no issues.
This patch is for review and comment by the community - as I know this is a simple and quick fix. Also this needs to be tested on Windows - Probably by Indika/Ant under load.
> Overcome resource limitations in Windows systems due to use of Pipes when the NIO transport is used under load
> --------------------------------------------------------------------------------------------------------------
>
> Key: SYNAPSE-86
> URL: https://issues.apache.org/jira/browse/SYNAPSE-86
> Project: Synapse
> Issue Type: Improvement
> Components: Transports
> Affects Versions: 1.0-RC1-B2
> Environment: Windows
> Reporter: Asankha C. Perera
> Assigned To: Asankha C. Perera
> Attachments: pipefix.patch
>
>
> On Windows Systems the java.nio.channels.Pipe implementation (sun.nio.ch.PipeImpl) uses a socket connection which is both expensive and resource intensive. This causes TCP ports to be exhausted when the NIO transport is being used under load. Linux and Solaris systems optimize this to native calls.
> However, Synapse NIO transport must be able to perform well and unhindered even on operating systems like Windows ;-)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org
[jira] Resolved: (SYNAPSE-86) Overcome resource limitations in
Windows systems due to use of Pipes when the NIO transport is used under
load
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asankha C. Perera resolved SYNAPSE-86.
--------------------------------------
Resolution: Fixed
Fix Version/s: 1.0-RC1-B3
Fixed by using virtual buffered pipes' instead of the windows socket pipes. No change for Linux/Solaris etc, and these would use the default nio.Pipe implementation of the JDK through the native calls
Will test this through JProfiler later once I get time
> Overcome resource limitations in Windows systems due to use of Pipes when the NIO transport is used under load
> --------------------------------------------------------------------------------------------------------------
>
> Key: SYNAPSE-86
> URL: https://issues.apache.org/jira/browse/SYNAPSE-86
> Project: Synapse
> Issue Type: Improvement
> Components: Transports
> Affects Versions: 1.0-RC1-B2
> Environment: Windows
> Reporter: Asankha C. Perera
> Assigned To: Asankha C. Perera
> Fix For: 1.0-RC1-B3
>
> Attachments: pipefix.patch
>
>
> On Windows Systems the java.nio.channels.Pipe implementation (sun.nio.ch.PipeImpl) uses a socket connection which is both expensive and resource intensive. This causes TCP ports to be exhausted when the NIO transport is being used under load. Linux and Solaris systems optimize this to native calls.
> However, Synapse NIO transport must be able to perform well and unhindered even on operating systems like Windows ;-)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org