ubuntu 及tomcat 优化(使用apachebench进行简单测试)

来源:互联网 发布:rayfile网盘 mac 编辑:程序博客网 时间:2024/04/30 00:50

题记

ubuntu系统下使用tomcat,对其进行系统优化.其中包括对ubuntu系统本身的设置,以及tomcat设置.

在安装ubuntu时候,有看到文章说是可以通过内核进行性能优化,但是查看一些资料后,发现有一些是通过关闭一些系统服务作为代价,因为不是很了解liunx内核,不敢轻易删除服务.

 简单的进行系统垃圾的清理. sudo apt-get autoclean

tomcat 作为应用服务器,对其进行优化,想必是很有效果的.
(1)修改tomcat的Tomcat Connector运行模式. 参考资料
tomcat包含bio、nio、apr三种模式.

  • bio模式:(blocking I/O),顾名思义,即阻塞式I/O操作,默认方式.
  • nio模式:(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式;Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写
  • apr模式:(Apache Portable Runtime/Apache可移植运行时),是Apache HTTP服务器的支持库.

这三种模式性能上的关系:

apr>nio>bio

bio 一般是默认模式,nio模式的配置比较简单,直接替换协议即可.在tomcat安装目录下/conf/server.xml文件中如下配置:
将protocal属性改为org.apache.coyote.http11.Http11NioProtocol 即可:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000"redirectPort="8443" />

apr 的配置相对复杂点,没有尝试,有需要可以自行搜索.

(2)设置tomcat 内存,防止溢出
tomcat需要调整java的内存设置,GC(Garbage Collection)垃圾回收,
分代收集:即将内存分为几个区域,将不同的生命周期的对象放在不同区域里.

  • 在GC收集的时候,频繁收集生命周期短的区域(Young area);
  • 比较少的收集生命周期比较长的区域(Old area);
  • 基本不收集的永久区(Perm area)。

java堆中各代说明(实在不清楚,为什么会翻译成),参考资料 因为不清楚如何搭配是最优的组合,我的策略是将各个配置点都设置为最大值.

  -Xms:初始堆大小  -Xmx:最大堆大小  PermSize/MaxPermSize:定义Perm段的尺寸,即永久保存区域的大小  -XX:PermSize 永久保存区域初始大小  -XX:PermSize 永久保存区域初始最大值  

(3)apachebench 进行测试 参考资料
apache自带的ab工具,使用简单,一般使用的就是设置请求总数,并发用户数.

ad -n 1000 -c 10 userURL


参考资料:
[1]http://www.365mini.com/page/tomcat-connector-mode.htm
[2]http://blog.csdn.net/winniepu/article/details/4829087
[3]http://jordan-micle.iteye.com/blog/801492
[4]http://blog.csdn.net/jimmy1980/article/details/4968308

0 0
原创粉丝点击