标签: jetty tomcat | 发表时间:2014-09-28 03:37 | 作者:niweiwei
分享到:
出处:http://www.iteye.com
两点,性能极佳,配置简单方便。
主要是设计思想的不同。Tomcat 主要是作为 JSP/Servlet 最新规范的参考实现而设计,属于学院派,但是显得庞大而杂乱。Tomcat 的性能很差,一般是作为 Http Server(如 Apache)的插件来用。Jetty 主要是作为企业级产品的嵌入式组件来设计的,可以非常方便地嵌入到其它产品中。而且 Jetty 是作为单独的 Http Server 来设计的,据 Jetty 开发人员的测试,Jetty 的性能几乎与 Apache 相当。Jetty 的体系结构结构精巧紧密,JBoss、JOnAS 缺省都是把 Jetty 作为他们的 Web Container 的。Tomcat 作为 Web Container 只是可选的。
Jetty 在国内用的人不多。我们目前全部开发都是在 Jetty 上做的,感觉 Jetty 还是非常稳定可靠的。Tomcat 开发的代码只要不使用 JSP/Servlet 最新规范中的内容,移植到 Jetty 上不费吹灰之力。Jetty 也支持到 JSP 1.2/Servlet 2.3 了(还不够用吗?呵呵)。生产环境,尤其是高负载的环境中还是使用 Jetty 更好。
相同点:
1.Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。
不同点:
1.架构比较
Jetty的架构比Tomcat的更为简单
Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。
Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。
2.性能比较
Jetty和Tomcat性能方面差异不大
Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。
Jetty的架构简单,因此作为服务器,Jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能。
Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高
Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的话,Tomcat的总体性能更高。
Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差。
3.其它比较
Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。
Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。
已有 0 人发表留言,猛击->> 这里<<-参与讨论 ITeye推荐
相关 [jetty tomcat] 推荐:
- - 行业应用 - ITeye博客
jetty和tomcat比较. Tomcat 主要是作为 JSP/Servlet 最新规范的参考实现而设计,属于学院派,但是显得庞大而杂乱. Tomcat 的性能很差,一般是作为 Http Server(如 Apache)的插件来用. Jetty 主要是作为企业级产品的嵌入式组件来设计的,可以非常方便地嵌入到其它产品中. 而且 Jetty 是作为单独的 Http Server 来设计的,据 Jetty 开发人员的测试,Jetty 的性能几乎与 Apache 相当. Jetty 的体系结构结构精巧紧密,JBoss、JOnAS 缺省都是把 Jetty 作为他们的 Web Container 的. Tomcat 作为 Web Container 只是可选的.
- redhobor - IBM developerWorks 中国 : 文档库
Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎. 本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求. 你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和 Jetty 的优缺点.
- - ITeye博客
在每个项目中都要配置路径什么的,非常的麻烦. 可以用jetty,项目本身就是服务器. 他会找项目中的WebContent. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.
- - 开源软件 - ITeye博客
Jetty误判长连接为超时连接的问题. 在上一篇中介绍了jetty的反映器模型,selector线程与业务子线程交互的点有:. 1、分发事件给子线程做,启动子线程;. 2、子线程发现阻塞或者连接关闭等时间时,注册内部changes,等待selector线程调度;. 3、检测超时连接,并且关闭连接. 在检测超时连接上面,jetty存在较多的问题,可能会误判. 下面是一个典型的问题,问题一步一步定位的过程也是非常艰难和曲折的,但是最终问题找到的时候却发现不过如此. 具体的问题出在下面这个判断表达式上面,下面这个方法是由主线程派生一个子线程的来调用的,在这个线程里面对所有的连接进行超时检查. _idleTimestamp是每个连接实例中标志连接上次空闲的开始时间,如果该值为0,则说明连接处于非空闲,当子线程在处理请求时会频繁地将该变量在0值与空闲的时间点之间切换,而该变量本身是寄存器变量,可以保证变量本身在多线程之间的同步.
- - 开源软件 - ITeye博客
1 概述. 本文档主要介绍了Tomcat的性能调优的原理和方法. 可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导手册. 2 调优分类. 由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述. 2.1 外部环境调优. 调整Tomcat运行环境的操作系统参数和运行Tomcat的java虚拟机参数. 2.1.1 JAVA虚拟机性能优化. Tomcat需要依赖Java虚拟机运行. 根据客户选用的主机的操作系统选择对应的 JDK的版本.
- - 编程语言 - ITeye博客
tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈. linux修改TOMCAT_HOME/bin/catalina.sh,在前面加入. windows修改TOMCAT_HOME/bin/catalina.bat,在前面加入. 最大堆内存是1024m,对于现在的硬件还是偏低,实施时,还是按照机器具体硬件配置优化. maxThreads="600" ///最大线程数. minSpareThreads="100"///初始化时创建的线程数. maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程.
- - ITeye博客
之前大概的看过WebSocket,当时Tomcat还不支持WebSocket,所以当时写了一篇基于Jetty的WebSocket实现,地址如下:. 现在Tomcat7.0.27发布了,从这个版本开始Tomcat就支持WebSocket了. Tomcat的WebSocket和Jetty的大致上差不多,大同小异,这里就简单的贴两个类吧:. 第一个类,这个和Jetty一样,需要一个Servlet来处理WebSocket请求:. 这个Servlet继承自WebSocketServlet,实现createWebSocketInbound方法. 第二个类,处理每一次具体的WebSocket任务:. 这个类继承自MessageInbound类,必须实现onBinaryMessage和onTextMessage方法.
- - ITeye博客
这种情况下只能通过查看远程服务器上的log来调试,如果出现unknown source说明编译的时候没有加入行号的信息,按如下修改. a)通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息. b)而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出unknown source. 修改ant的编译文件如下:. 2.有远程调试环境(即开发机可以连接服务器). 修改startup.bat的内容. 修改后另存为jpda.bat. 然后在eclipse中操作如下:.
- - CSDN博客研发管理推荐文章
Tomcat 优化分为系统优化,Java虚拟机调优,Tomcat本身的优化. 1.如何调整tomcat的占用内存. 1. linux 下编辑tomcat安装目录下的bin目录下的catalina.sh文件,windows下为catalina.bat. 2. 查找到tomcat内存参数一行:/ JAVA_OPTS,如果找不到则在第一行写上. 3. 将JAVA_OPTS="-Xms 1024m –Xmx 1520m"一行的两个参数依据服务器实际内存数量分别进行更改:. - Xms为tomcat启动初始内存,一般为服务器开机后可用空闲内存减去100M. - Xmx为tomcat最大占用内存,一般为服务器开机后可用空闲内存减去50M.
- - 开源软件 - ITeye博客
1.去官网中下载最新的solr(本例solr为4.5.1)并解压. 下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/4.5.1. 2.解压后将/example/webapps/下的solr.war放入某个sevlet容器 (本例为tomcat7). 3.将solr.war复制到webapp目录,将solr-4.5.1\example\solr整个目录复制到{tomcat}目录,. 4.然后修改tomcat7中的bin目录下的catalina.bat,在catalina.bat文件中找到okhome下加上set JAVA_OPTS=%JAVA_OPTS% -Dsolr.solr.home="%CATALINA_HOME%\solr".