鲲鹏服务器利用wrk工具测试Tomcat性能

举报
鲲鹏小玩家 发表于 2020/03/30 17:17:31 2020/03/30
【摘要】 本文介绍性能测试相关知识,列出了常用的http性能测试工具,介绍Tomcat,然后通过测试工具之一wrk对Tomcat进行性能测试。 性能测试介绍1、 什么是性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统...

本文介绍性能测试相关知识,列出了常用的http性能测试工具,介绍Tomcat,然后通过测试工具之一wrkTomcat进行性能测试。

 

性能测试介绍

1、  什么是性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

2、  性能测试的目标是什么

性能测试最终的目的,是找到系统的瓶颈,一般来说,是找到服务单机最大TPS(每秒完成的事务数)。需要注意的是,服务的TPS需要结合请求平均耗时来综合考虑。例如:服务TPS压到1000,平均请求耗时500ms,但是假如我们定的服务请求耗时不能超过200ms,那么这个1000TPS是无效的。

很多场景下,服务都会设置超时时间,若平均耗时超过此超时时间,则可认为服务处于不可用状态。

 

常见的http性能测试工具

httploadwrkapache bench

工具

优点

缺点

httpload

简单易用

压测结果指标较少

wrk

简单易用,异步IO模型,能压到非常高的并发


apache bench

简单易用


通过优缺点介绍,我们看到wrk更胜一筹,下面我们采用wrk,对Tomcat进行性能测试。

 

Tomcat介绍

TomcatApache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由ApacheSun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是10,不过是alpha版本。

Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

tomcat官网首页:http://tomcat.apache.org/index.html

 

利用wrkTomcat进行压力测试

1、  安装准备

华为云购买一台鲲鹏服务器(wrkTomcat部署在同一台鲲鹏服务器上,当然也可以部署在不同的服务器上)

本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。

1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO40GB

操作系统要求如表1-2所示。

1-2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

 

2、  部署tomcat

鲲鹏社区软件栈已经有部署文档,请参考

https://www.huaweicloud.com/kunpeng/software/tomcat.html

3、  部署wrk

鲲鹏社区软件栈已经有部署文档,请参考

https://www.huaweicloud.com/kunpeng/software/wrk.html

4、  性能测试:

终端输入如下命令:

wrk -t12 -c100 -d30s http://127.0.0.1:8080 或者

wrk -t12 -c100 -d30s http://云服务器公网IP地址:8080

说明:

模拟12个线程、100次连接、压力测试持续10秒,测试“http://127.0.0.1:8080”

页面的性能,其中8080tomcat端口,wrk对本地安装的tomcat进行性能测试。

返回结果:

image.png

结果说明:

Avg  Stdev       Max         +/- Stdev

(平均值) (标准差)(最大值)(正负一个标准差所占比例)

Latency:延迟

Req/Sec:处理中的请求数

514174 requests in 30.09s, 5.43GB read 30.01秒内共处理完成了514174个请求,读取了5.43GB数据)

Requests/sec: 17086.53 (平均每秒处理完成17086.53个请求)

Transfer/sec: 184.72MB (平均每秒读取数据184.72MB

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。