标签:read org 对比 平均数 升级 exp docke sys 并且
测试环境:
OS: Ubuntu14.04 64位 (运行在Docker1.9)
CPU: Intel i3 双核四线程
Mem: 8G
Tomcat版本: Tomcat8.5
Java SDK版本: JDK 8
测试软件: Apache JMeter 2.8
测试说明:
测试代码为接受一个http请求,返回一个String变量s.
该变量初始化为””, 循环10000次,每次添加内容”test ”
public class Test extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ StringBuffer ret = new StringBuffer(); for(int i=0;i < 10000; i++) { ret.append(String.valueOf(i) + " test "); } PrintWriter printWriter = response.getWriter(); printWriter.println(ret); }}
采用JMeter模拟5000个(用户),在10s内对该接口不断发起Get请求,并循环10次.
最后统计结果.
对每个配置的修改都会关闭并重启tomcat
调优方式一 : 修改…/bin/catalina.sh(启动时优化)
Windows下为catalina.bat
export JAVA_OPTS=”-server”
export JAVA_OPTS=”-server -Xms256M -Xmx256M”
export JAVA_OPTS=”-server -Xms512M -Xmx512M”
export JAVA_OPTS=”-server -Xms512M -Xmx512M -XX:+AggressiveOpts”
export JAVA_OPTS=”-server -Xms512M -Xmx512M -XX:+AggressiveOpts -XX:+UseBiasedLocking”
export JAVA_OPTS=”-server -Xms512M -Xmx512M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC”
调优方式二: 更改…/confrver.xml (容器内优化)
在server.xml内定位到标签,以下的内容均值在该标签中修改内容
URIEncoding=”UTF-8”
protocol=”org.apache.coyote.http11.Http11Nio2Protocol”
若tomcat为8可改为上面的参数,若为tomcat6建议改为”org.apache.coyote.http11.Http11NioProtocol”
enableLookups=”false”
acceptCount=”1000”
maxThreads=”5000”
参考配置
catalina.sh
export JAVA_OPTS=”-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true “
server.xml
[objc] view plain copy
标签:read org 对比 平均数 升级 exp docke sys 并且
原文地址:https://www.cnblogs.com/chinaops/p/9303035.html