整理LVS架构压力测试工作

1880阅读 0评论2013-05-15 exhalo
分类:系统运维

    首先,测试环境在模拟环境下进行。
    测试环境:1director(apache2.2) + 1realserver(jboss4.2.3GA)+1databaseserver(oracle9i)(windows web server 2008
    测试工具:jmeter2.9
    测试步骤:
1 使用jmeter2.9录制脚本
    

http://blog.chinaunix.net/uid-28690609-id-3690959.html

2 调整各个参数
   

一、 apache2.2:调整apache打开进程数,默认是60
    windowsxp等基于nt版核心的系统,最大能达到1024.UNIX版本最大能达到256.再多了,也只会影响性能。我测试的时候直接用了perchildthreads=1000\Maxrequestchildtheads=4000.出了不少提示,但也可用。
配置文件:D:\download\Apache2.2\conf\httpd.conf
添加下面模块:

  1. <IfModule mpm_winnt.c>
  2.   ThreadsPerChild 250
  3.   MaxRequestsPerChild 1000
  4.   Win32DisableAcceptEx
  5. </IfModule>
具体参数应当参考本机进行设置。

二、jboss4.2.3GA:调整打开进程数
配置文件:D:\download\jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml

  1. <Connector port="80" address="${jboss.bind.address}"
  2.          maxThreads="250" maxHttpHeaderSize="8192" #(主要修改这个地方)
  3.          emptySessionPath="true" protocol="HTTP/1.1"
  4.          enableLookups="false" redirectPort="443" acceptCount="100"
  5.          connectionTimeout="20000" disableUploadTimeout="true"
  6.          compression="on" compressionMinSize="10"
  7.          compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
  8.          />
初始的maxThreads=250可能不够用,我调到1024.还是不够用。其中几个重要的参数
maxThreads最大的进程数目
acceptCount当进程数满后,等待队列的数目

三、 调整oracle-ds.xml 数据库连接池文件
配置文件为:D:\download\jboss-4.2.3.GA\server\default\deploy\oracle-ds.xml
这个文件时自己创建的,默认的样例,在D:\download\jboss-4.2.3.GA\docs\examples\jca\hsqldb-ds.xml
主要修改参数:

  1. <idle-timeout-minutes>5</idle-timeout-minutes>
  2. <min-pool-size>20</min-pool-size> #最小连接池数目
  3. <max-pool-size>40</max-pool-size> #最大连接池数目  (主要修改这个地方)
  4. <query-timeout>300</query-timeout> #请求超时时间
  5. <use-fast-fail>true</use-fast-fail>
这里面的最大连接池数目最好不要超过200.oracle 9i默认的连接数大概也就200左右。超过可能会导致oracle not avliable错误。
如果要修改默认连接数,可以使用UltraEdit编辑器打开init.ora文件进行修改




参考资料: 
           oracle修改默认连接数
上一篇:关于jboss的线程问题+java.lang.outofmemoryError
下一篇:Jmeter脚本录制