Tomcat性能优化-2

修改Connector运行模式 启用NIO 或 APR

bio介绍

bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作
默认模式,性能最差,没有经过任何优化处理和支持
nio模式

nio(non-blocking I/O),Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、
并能提供非阻塞I/O操作的Java API。
拥有比bio更好地性能

修改%CATALINA_HOME%/server.xml

源:<Connector port="8080" protocol="HTTP/1.1"
                    connectionTimeout="20000"
                    redirectPort="8443" />

修改protocol的值为:org.apache.coyote.http11.Http11NioProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
                    connectionTimeout="20000"
                    redirectPort="8443" />
service tomcat restart生效
apr模式

apr(Apache Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网
络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat apr也是在Tomcat
上运行高并发应用的首选模式。

要让tomcat以apr模式运行,需要安装 apr 和 native
安装apr
yum -y install apr apr-devel

yum -y install gcc
 
安装native
cd /data/tomcat/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.1.33-src/jni/native/
./configure --with-apr=/usr/bin/apr-1-configmake && make install

整合Tomcat apr

    在/etc/profile中加入
    export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib
    source /etc/profile
    
    修改配置文件server.xml
    
    源:<Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
    修改protocol的值为org.apache.coyote.http11.Http11NioProtocol
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
                connectionTimeout="20000"
                redirectPort="8443" />
    重启

查看Tomcat Connector运行模式

方法一:在http://x.x.x.x:8080/manager/status 中查看服务器状态 
"http-apr-8080"

方法二:根据Tomcat启动日志信息判断
    bio
        INFO: Initializing ProtocolHandler ["http-bio-8080"]
        Aug 04, 2015 10:20:35 PM org.apache.coyote.AbstractProtocol init12
    nio
        INFO: Initializing ProtocolHandler ["http-nio-8080"]
        Aug 04, 2015 10:27:58 PM org.apache.coyote.AbstractProtocol init12
    apr
        NFO: Initializing ProtocolHandler ["http-apr-8080"]
        Aug 04, 2015 10:33:45 PM org.apache.coyote.AbstractProtocol init12

转载:http://blog.csdn.net/loyachen/article/details/47280237

原创文章,作者:心肝坏了,如若转载,请注明出处:http://www.178linux.com/41978

(0)
心肝坏了心肝坏了
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:49

相关推荐

  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10
  • grep与正则表达式

    1.什么是grep grep(Golobal Regular Expression print)是Linux系统中一个强大的文本搜索工具,也是俗称的搜索三兄弟之一,grep的最大意义就是搜索文本,把匹配的行打印到屏幕上,但不影响原文件的内容;在搜索文本的过程中,可以利用到“正则表达式”来定以自己的搜索匹配模式。 Unix的grep家族包括了grep、egre…

    Linux干货 2015-10-08
  • 任务计划和本地系统的默认邮件

    一、前言 二、本地mail的使用方法 三、at /batch 四、cron 五、小结   一、前言 linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行; 作业执行完成后,会通过邮件通知给作业提交者;因此,以下就从邮件说起。 二、邮件服务 Centos ,默认会…

    Linux干货 2015-05-13
  • 优云软件老司机:如何让运维操作更轻松、高效

    讲师介绍 庞辉富 •广通软件技术总监 •拥有10多年IT运维管理软件研发经验 •致力于自动化运维解决方案的研究和推广 •主导研发的产品广泛应用于海关、公安、能源等多个行业 技术发展给运维带来的挑战 当前的IT建设在这些新技术的演进下,我们看到的是呈现“双态IT”特征。Gartner也提出双模IT理论,与现在谈的双态IT是异曲同工的,不再是一种单纯的形态,而是…

    系统运维 2017-01-09
  • LVM 逻辑卷管理器-缩小LV容量及快照区的建立

    LVM 逻辑卷管理器-缩小LV容量 将/dev/sdb2分区抽离出来,缩小LV容量 (1)首先查看/dev/sdb2的容量大小 [root@centos6 ~]# df -h /mnt/lvm/ Filesystem        &nbs…

    Linux干货 2016-09-19
  • 马哥教育网络班22期+第2周课程练习 忍者乱太郎喻成

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?  type 查看文件类型的命令    type /dev/sda     mkdir 创建文件夹     mkdir [ -p -v…

    Linux干货 2016-09-06