Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 60315 invoked from network); 23 Jun 2006 05:43:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Jun 2006 05:43:46 -0000 Received: (qmail 42991 invoked by uid 500); 23 Jun 2006 05:43:41 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 42932 invoked by uid 500); 23 Jun 2006 05:43:40 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 42921 invoked by uid 99); 23 Jun 2006 05:43:40 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jun 2006 22:43:40 -0700 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=HTML_IMAGE_ONLY_24,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of dakota.jack@gmail.com designates 64.233.162.192 as permitted sender) Received: from [64.233.162.192] (HELO nz-out-0102.google.com) (64.233.162.192) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jun 2006 22:43:39 -0700 Received: by nz-out-0102.google.com with SMTP id n29so635414nzf for ; Thu, 22 Jun 2006 22:43:19 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=FsExhTRklQxT4F4iB11cy/g/4f+aE9CrF+Dr4jvdvqksNl6PaVAy7v48PL090j5nEv4KVWb8x9z6jkHCmbHxk0Dk1lVciaIKKiDj2LbeP+jg7h/RDj3q3BHs5ury984stcr9//OROujsvH9/kx0sVYhTXu8sTADBR2HTQ3S+JUI= Received: by 10.36.227.49 with SMTP id z49mr3224542nzg; Thu, 22 Jun 2006 22:43:18 -0700 (PDT) Received: by 10.36.58.19 with HTTP; Thu, 22 Jun 2006 22:43:18 -0700 (PDT) Message-ID: Date: Thu, 22 Jun 2006 22:43:18 -0700 From: "Dakota Jack" To: "Tomcat Developers List" Subject: Re: NIO vs BIO speed In-Reply-To: <449B312A.3050806@hanik.com> MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_5555_32555234.1151041398376" References: <4496A724.5060107@hanik.com> <449AC497.9080304@hanik.com> <449AC79E.1060107@apache.org> <449ACB4F.3070701@ptc.com> <449ACF73.5030209@hanik.com> <449AD393.3070101@apache.org> <449B2261.9010001@hanik.com> <449B294E.7020401@hanik.com> <449B2BC7.1010000@apache.org> <449B312A.3050806@hanik.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_5555_32555234.1151041398376 Content-Type: multipart/alternative; boundary="----=_Part_5554_32476286.1151041398376" ------=_Part_5554_32476286.1151041398376 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I am interested in this code. Is there a way I can see the code? Thanks. On 6/22/06, Filip Hanik - Dev Lists wrote: > > Remy Maucherat wrote: > > Filip Hanik - Dev Lists wrote: > > Here is another test that I ran from a remote machine, setting > maxThreads="25" and ab concurrency to 50 and keepalive on. > In this case, NIO is a lot faster. Turn off keepalive on ab, and we get > similar results to previous run, where BIO is a tad faster. > > > Scaling the thread per connection model is done by increasing the amount > of threads. This particular test demonstrates the obvious. > > yes, what is interesting though, is my NIO connector is not really true > NIO, as it ties up a thread while polling for data. The true implementation > would have not invoked that thread yet, but for that I would have had to > rewritten the connector from scratch as I couldn't have taken advantage of > code already written and tested. > The reason it was done like this, is cause that way I could use almost all > the code from the APR connector. > So you could call it a semi-"thread-per-connection" model, yet handles > better than the true thread per connection model. > APR does the same thing. > > > > If I understand the results correctly, the results would be acceptable on > Unix. > > yes, I think they are looking pretty good. And I am fairly confident in > this new code, as most of it, is old tested APR code. > > Filip > > -- > > > Filip Hanik > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ ------=_Part_5554_32476286.1151041398376 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I am interested in this code.  Is there a way I can see the code?  Thanks.



On 6/22/06, Filip Hanik - Dev Lists <devlists@hanik.com> wrote:
Remy Maucherat wrote:
Filip Hanik - Dev Lists wrote:
Here is another test that I ran from a remote machine, setting maxThreads="25" and ab concurrency to 50 and keepalive on.
In this case, NIO is a lot faster. Turn off keepalive on ab, and we get similar results to previous run, where BIO is a tad faster.

Scaling the thread per connection model is done by increasing the amount of threads. This particular test demonstrates the obvious.
yes, what is interesting though, is my NIO connector is not really true NIO, as it ties up a thread while polling for data. The true implementation would have not invoked that thread yet, but for that I would have had to rewritten the connector from scratch as I couldn't have taken advantage of code already written and tested.
The reason it was done like this, is cause that way I could use almost all the code from the APR connector.
So you could call it a semi-"thread-per-connection" model, yet handles better than the true thread per connection model.
APR does the same thing.



If I understand the results correctly, the results would be acceptable on Unix.
yes, I think they are looking pretty good. And I am fairly confident in this new code, as most of it, is old tested APR code.

Filip

--


Filip Hanik



--
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~
------=_Part_5554_32476286.1151041398376-- ------=_Part_5555_32555234.1151041398376--