当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

tomcat下小博士压力测试[Java编程]

赞助商链接



  本文“tomcat下小博士压力测试[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

最大线程数开到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


  以上是“tomcat下小博士压力测试[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • centos6.0 下apache+tomcat整合笔记
  • IIS6+Tomcat7整合
  • 详解 Nginx + Tomcat HTTPS/SSL 配置办法
  • 怎样在xp下操作tomcat安置一个java web项目
  • JSP利用服务器搭建实施文档(Nginx+Tomcat)
  • <b>Linux下Tomcat集群搭建历程全记录</b>
  • Linux(Ubuntu)下Nginx安装配置及与Tomcat整合
  • Ubuntu下基于Nginx实现Tomcat集群负载均衡
  • <b>RedHat Linux 5 Tomcat 的安装及环境的配置</b>
  • <b>CentOS下Tomcat 5.5 与 jdk1.6安装</b>
  • <b>Linux下配置Nginx + 双Tomcat负载均衡</b>
  • Linux下Tomcat安装与启动
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .