• Tomcat压力测试,优化


    概述,

          对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间。应用本身和它运行在其中的web容器是两个很重要的影响因素。


          对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束。如果同时进来的请求多于当前可用的请求处理线程数,额外的

        线程就会被创建,直到到达配置的最大线程数(maxThreads属性值)。如果仍就同时接收到更多请求,这些来不及处理的请求就会在Connector创建

        的ServerSocket中堆积起来,直到到达最大的配置值(acceptCount属性值)。至此,任何再来的请求将会收到connection refused错误,直到有可用

        的资源来处理它们

    一 首先需要项目部署到Tomcat

      1.把项目拖到linux usr/local/tomcat

     

      2.启动Tomcat部署项目

        到/usr/local/tomcat/bin目录下输入如下命令:

        ./startup.sh && tail -f ../logs/catalina.out

        出现如下日志:

     

      这时什么也不用做等待即可,当出现如下所示时

     

      访问项目地址

     

     

    此时表示项目部署成功!

    压力测试

      一 jmeter

        下载jmeter 加压后进入Bin目录运行jmeter.bat

     

      如下

     

      首先新建一个线程组

     

       添加一个HTTP请求

     

     

      添加监听器

     

      优化之前

     

       异常率:0%

      平均处理耗时:5698

      吞吐量:150/S

      停止Tomcat服务找到tomacat解压目录的conf文件夹下,server.xml文件

      在

          <Connector executor="tomcatThreadPool"  port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
      上加入 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/>
     
      再次测试或发现平均处理耗时明显减少
     
  • 相关阅读:
    无锁数据结构(Lock-Free Data Structures)
    Grouping Sets:CUBE和ROLLUP从句
    SQL Server里Grouping Sets的威力
    第18/24周 乐观并发控制(Optimistic Concurrency)
    SQL Server里PIVOT运算符的”红颜祸水“
    数据库收缩:NOTRUNCATE与TRUNCATEONLY
    在SQL Server里为什么我们需要更新锁
    SQL Server里的自旋锁介绍
    SQL Server里的闩锁介绍
    配置内存中OLTP文件组提高性能
  • 原文地址:https://www.cnblogs.com/wangdayexinyue/p/12458157.html
Copyright © 2020-2023  润新知