The doc (
http://tomcat.apache.org/tomcat-8.0-doc/config/http.html#NIO2_specific_configuration
) doesn't say which one is the best, but we may think that the non-blocking
will work better under heavy load.

If not servicing hundreds of clients at the same moment, I would use the
blocking connector ( http11.Http11Protocol )

regards

2016-03-09 10:12 GMT+01:00 Tullio Bettinazzi <tullio0...@live.it>:

> I tested with http11.Http11Protocol, http11.Http11NioProtocol and
> http11.Http11Nio2Protocol and the problem reproduces only with
> http11.Http11NioProtocol.
> It seems to be a bug of the Nio protocol.
> It's better to use Nio2 or standard ? What's the difference ?
> Tks
> Tullio
>
>
> > Date: Mon, 7 Mar 2016 16:26:24 +0100
> > Subject: Re: Performance regression from 7 to 8
> > From: aterrest...@gmail.com
> > To: users@tomcat.apache.org
> >
> > Tullio,
> >
> > as suggested before by Felix, maybe you should try different connector
> > configurations (defaults for HTTP connector are different between T7
> > (blocking) and T8 (non-blocking)) and see if this changes anything.
> >
> > For example in the server.xml file :
> >
> >     <Connector port="8880"
> > protocol="org.apache.coyote.http11.Http11Protocol" address="YOURSERVER"
> >                connectionTimeout="20000"
> >                disableUploadTimeout="false"
> >                connectionUploadTimeout="3600000"
> >                redirectPort="8843" />
> >
> > and
> >
> >     <Connector port="8880"
> > protocol="org.apache.coyote.http11.Http11NioProtocol"
> address="YOURSERVER"
> >                connectionTimeout="20000"
> >                disableUploadTimeout="false"
> >                connectionUploadTimeout="3600000"
> >                redirectPort="8843" />
> >
> >
> > Your code is simple, only buffering and writing to an OutputStream. Don't
> > know how, but I believe that only the buffering can introduce some delay.
> >
> > best regards
> >
> >
> >
> >
> >
> >
> > 2016-03-07 15:43 GMT+01:00 Tullio Bettinazzi <tullio0...@live.it>:
> >
> > > As I already explained is not a reproductable problem.
> > > I tested the testcase in my environment and I reproduced the problem on
> > > some clients but not on all clients : the same clients where I noticed
> the
> > > problem in the real application.
> > > I'm not able to understand what's the relevant difference among them
> (not
> > > OS version, not network, not browser).
> > > The problem disappears using tomcat 7.
> > > Tks
> > > Tullio
> > >
> > > > Subject: Re: Performance regression from 7 to 8
> > > > To: users@tomcat.apache.org
> > > > From: ma...@apache.org
> > > > Date: Mon, 7 Mar 2016 11:52:40 +0000
> > > >
> > > > On 06/03/2016 08:45, Tullio Bettinazzi wrote:
> > > > > I tested with 8.20 and 8.32
> > > > > With nothing changed I meant simply that results didn't change.
> > > >
> > > > I can't repeat the problem you are describing with your provided test
> > > case.
> > > >
> > > > I ran:
> > > > - ab -k -n 1000 -c 1 localhost:8080/user002/Test
> > > > - latest 8.0.x code
> > > > - your test case with and without setting the content length (as an
> > > >   HTTP/1.0 client ab needs the content length to use keep-alive with
> > > >   large response bodies
> > > >
> > > > I saw average response times of 6ms with a maximum of 9ms.
> > > > The content length header made no difference (apart from keep-alive
> > > > being used as expected).
> > > >
> > > > If the problem you are describing was widespread I'd expect to see
> other
> > > > users reporting this on the mailing list.
> > > >
> > > > Given that:
> > > > - I can't repeat this
> > > > - Other users aren't reporting it
> > > > - Only you are seeing the issue
> > > >
> > > > this looks like an issue with your environment rather than with
> Tomcat.
> > > > I'd recommend using tools like Wireshark and YourKit to find out
> exactly
> > > > what is going on.
> > > >
> > > > Mark
> > > >
> > > >
> > > > > Tks
> > > > > Tullio
> > > > >
> > > > >> Subject: Re: Performance regression from 7 to 8
> > > > >> To: users@tomcat.apache.org
> > > > >> From: ma...@apache.org
> > > > >> Date: Sat, 5 Mar 2016 18:40:36 +0000
> > > > >>
> > > > >> On 04/03/2016 13:19, Tullio Bettinazzi wrote:
> > > > >>> Done and nothing changed.
> > > > >>
> > > > >> What has changed is that you have now provided a test case that
> > > someone
> > > > >> else can run easily and confirm, or not, your findings.
> > > > >>
> > > > >>> Any suggestion ?
> > > > >>
> > > > >> Before anyone spends time looking at this the other question I
> don't
> > > see
> > > > >> answered in this thread is "Exactly which Tomcat 8 version were
> you
> > > > >> testing?". If it isn't the the latest then you'll need to retest
> to
> > > > >> confirm the issue hasn't already been fixed.
> > > > >>
> > > > >> Mark
> > > > >>
> > > > >>> Here the code.
> > > > >>>
> > > > >>> package axioma.rubik.engine.web.servlet;
> > > > >>>
> > > > >>> import java.io.*;
> > > > >>> import javax.servlet.ServletException;
> > > > >>> import javax.servlet.annotation.WebServlet;
> > > > >>> import javax.servlet.http.*;
> > > > >>>
> > > > >>> @WebServlet(name="Test8", description="Direct update of data",
> > > urlPatterns={"/Test8"})
> > > > >>> public class Test8Servlet extends HttpServlet {
> > > > >>>
> > > > >>>     private static final long serialVersionUID = 1L;
> > > > >>>
> > > > >>>     @Override
> > > > >>>     protected void doGet(HttpServletRequest request,
> > > HttpServletResponse response) throws ServletException, IOException {
> > > > >>>         try {
> > > > >>>             fai(response);
> > > > >>>         } catch (Exception ex) {
> > > > >>>             ex.printStackTrace();
> > > > >>>         }
> > > > >>>     }
> > > > >>>
> > > > >>>     public void fai(HttpServletResponse response) throws
> IOException
> > > {
> > > > >>>         ByteArrayOutputStream bbs = new ByteArrayOutputStream();
> > > > >>>         BufferedOutputStream bos = new BufferedOutputStream(bbs);
> > > > >>>         for(int i = 0; i < 400000; i++) {
> > > > >>>             bos.write(96);
> > > > >>>         }
> > > > >>>         bos.flush();
> > > > >>>         bbs.writeTo(response.getOutputStream());
> > > > >>>     }
> > > > >>> }
> > > > >>
> > > > >>
> > > > >>
> ---------------------------------------------------------------------
> > > > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > > > >> For additional commands, e-mail: users-h...@tomcat.apache.org
> > > > >>
> > > > >
> > > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > > > For additional commands, e-mail: users-h...@tomcat.apache.org
> > > >
> > >
> > >
>
>

Reply via email to