> I searched the tomcat-user archive and couldn't find anything on the > design difference between coyote and httpconnector in 4.0.1-4.0.3 tomcat > releases. > > If anyone can point in the right direction, I'd really appreciate it.
There's the source code at this point ;-) j-t-c/coyote, j-t-c/http11 and of course j-t-c/util. coyote is an adapter for Tomcat (3.3.x and 4.x). http11 is an HTTP/1.1 processor (takes an input stream with the request bytes, and writes the response bytes to an output stream). The httpconnector has the two mixed together (so it's harder to maintain), with an unusual way of handling response buffering. The HTTP request parsing code is relatively similar, with the new one having fancier and more efficient buffering. The HTTP response in Coyote is based on the OutputBuffer from Tomcat 3.3, which makes the ouptut a lot more efficient, and allows to recycle the writers and output streams used. Generally, the implementation of the new HTTP processor is a lot more elegant and robust (plus it's quite fast, which doesn't hurt). > Here is a little background on why I am looking for the information. > I've been doing some performance benchmarks comparing coyote and > httpconnector on 4.0.2 and 4.0.3 with JSTL. My test pages use a lot of > includes to dynamically build the header, footer and look of a page. > > when I used include directive <%@ include file="" %> the performance for > 4-16 concurrent connections causes dramatic increases in CPU > utilization. When I use action include as in <jsp:include page=""/> the > performance is better. Tomcat is running on a resource limited box, > 600mhz w/256Mb ram. I have no idea why the directive is slower. In any case, I don't see how it would make a difference for the connector, so the explanation is probably in the Jasper code. One test which would be useful to get a better idea would be to assemble the pages manually, and comparing with the previous results. > Using the latest coyote beta with 4.0.3 seems to perform 2-4 times > better than httpconnector, depending on the page. I've also done > benchmarks with very simple pages that print out http header/request > parameters and coyote seems to be twice as fast. For complex pages that > have a lot of includes that call includes, the performance gains are > bigger. It's designed to be fast, but I don't know why the performance gains get bigger when including. Remy -- To unsubscribe: <mailto:[EMAIL PROTECTED]> For additional commands: <mailto:[EMAIL PROTECTED]> Troubles with the list: <mailto:[EMAIL PROTECTED]>
