首页 存档 技术 查看内容

【原创】通过压力测试提升服务器并发性能实例

2018-3-30 13:00 |来自: 互联网 287 0

摘要: 前言 前一段时间应领导要求,对公司服务端代码进行简单的压力测试。测试发现,并发数只能维持在很小的值以内,比如模拟并发数超过100,失败率就会大大提高。 在咨询完后端搭建过程后发现,基本上所有的配置参数全部 ...

前言

前一段时间应领导要求,对公司服务端代码进行简单的压力测试。测试发现,并发数只能维持在很小的值以内,比如模拟并发数超过100,失败率就会大大提高。

在咨询完后端搭建过程后发现,基本上所有的配置参数全部采用了默认处理,包括:数据库、服务器、应用程序。然后就是各种查资料,发现上述提到的各个模块都有很大的提升空间,需要开发人员自己配置。这一块网上众说纷纭:有的说改tomcat配置的(配置堆内存大小,jvm参数,IO流处理方式等);改连接池参数的(最大连接数、最小连接数、增值单位大小等)、改数据库参数的(mysql工作模式、连接数等);提升服务器硬件配置(这个纯属扯淡,每个模块没有发挥出最大性能,仅仅提升硬件配置也是没有的)。

以下是测试实例,通过一步一步修改各个模块的参数,找到了影响并发量的关键问题,其中学到了很多知识。总结在最后。

测试环境

  • 服务器:tomcat7

  • 数据库:mysql5.5

  • 连接池:c3p0

  • jdk:jdk7

压力测试工具jmeter的使用

  • 详细使用请自行查资料,这里只介绍用到的模块,可以满足需求。

  • 使用步骤以及使用模块如下

  1. 添加测试组

  2. 模拟用户参数设置

  3. 添加模拟请求接口

  4. 配置接口参数

  5. 添加实时测试概述(可以查看错率率)

  6. 添加查看结果树(可以查看错误原因)

  7. 启动与停止

测试并发阀值

测试发现只要并发数大于100,失败率一下子就会提上去;如果要小于100,失败率基本上接近于0。由于当初没有找到jmeter的【查看观察树】模块,也不知道错误的原因,只能凭感觉去猜测错误原因。第一步想到的就是tomcat的参数原因。

尝试优化一:修改tomcat配置

一、Tomcat 本身优化

之前文件介绍过的 Tomcat 连接器的三种方式: bio、nio 和 apr,三种方式性能差别很大,apr 的性能最优, bio 的性能最差。而 Tomcat 7 使用的 Connector 默认就启用的 Apr 协议,但需要系统安装 Apr 库,否则就会使用 bio 方式。

  • 改为nio,Tomcat安装目录/conf/server.xml,修改以下参数

修改之前:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部