快速业务通道

tomcat下小博士压力测试 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

tomcat下小博士压力测试

时间:2010-12-23 javaeye xly_971223

最大线程数开到100个没有问题

大于101个就有很多连接失败的

初步判断是tomcat的最大连接数设置的问题

重新设置tomcat server.xml

acceptCount=200后,最大线程可开到150 没有任何错误

acceptCount 指定放在队列里的请求数

<Connector connectionTimeout="20000" port="8080"  protocol="HTTP/1.1" redirectPort="8443" acceptCount="200" />

Java代码

package com.ask.pressure; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class AskPressure {   private static String url =  "http://192.168.0.59:8080/ask/index.html";   private static Integer error = 0;   private static Integer threads = 150;   private static Long startTime;   public static void main(String[] args) {   WorkThread[] workThreads = new WorkThread[threads];   for(int i = 0; i < threads; i++){    workThreads[i] = new WorkThread();   }   startTime = System.currentTimeMillis();   //System.out.printf("线程数组初始化耗时%d毫秒\n", (System.currentTimeMillis() - startTime));   for(int i = 0; i < threads; i++){    workThreads[i].start();   }   //System.out.printf("连接失败:%d",error);   }   private static class WorkThread extends Thread {   public void run(){    long start = System.currentTimeMillis();    long end = 0;    try {    URL u = new URL(url);    HttpURLConnection urlConn = (HttpURLConnection) u.openConnection();    urlConn.setUseCaches(false);    urlConn.setRequestProperty("Content-type","text/html;  charset=UTF-8");    urlConn.connect();    //System.out.printf( "小博士页面编码: % s\n",urlConn.getContentEncoding());    InputStream is = urlConn.getInputStream();    StringBuffer buffer = new StringBuffer();    readToBuffer(buffer,is);    end = System.currentTimeMillis();    } catch (Exception e) {    synchronized(error){     error ++;    }    e.printStackTrace();    }    synchronized(threads){    threads --;    System.out.printf("还有%d个未完线程,耗时%d毫秒\n",threads, (System.currentTimeMillis() - startTime));    if(threads == 0){     System.out.printf("总耗时:%d毫秒\n", (System.currentTimeMillis() - startTime));     System.out.printf("连接失败:%d\n",error);    }    }   }   public void readToBuffer(StringBuffer buffer,InputStream  is)    throws IOException {    String line; // 用来保存每行读取的内容    BufferedReader reader = new BufferedReader(     new InputStreamReader(is));    line = reader.readLine(); // 读取第一行    while (line != null) { // 如果line为空说明读完了    buffer.append(line); // 将读到的内容添加到buffer中    buffer.append("\n"); // 添加换行符    line = reader.readLine(); // 读取下一行    }   }   } }

还有9个未完线程,耗时1484毫秒 还有5个未完线程,耗时1547毫秒 还有6个未完线程,耗时1516毫秒 还有7个未完线程,耗时1516毫秒 还有8个未完线程,耗时1484毫秒 还有4个未完线程,耗时1547毫秒 还有3个未完线程,耗时1547毫秒 还有2个未完线程,耗时1563毫秒 还有1个未完线程,耗时1578毫秒 总耗时:1578毫秒 连接失败:0 还有0个未完线程,耗时1578毫秒 总耗时:1578毫秒 连接失败:0

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号