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

网友投稿 1164 2022-05-29

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

性能测试介绍

1、  什么是性能测试

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

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

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

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

常见的http性能测试工具

httpload、wrk、apache bench

工具

优点

缺点

httpload

简单易用

压测结果指标较少

wrk

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

apache bench

简单易用

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

Nginx介绍

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

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好

利用wrk对Nginx进行压力测试

1、  安装准备

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

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

表1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

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

表1-2 操作系统要求

项目

说明

-

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

2、  部署Nginx

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

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

3、  部署wrk

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

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

4、  性能测试:

终端输入如下命令:

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

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

说明:

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

页面的性能,端口默认80,可不写,wrk对本地安装的Nginx进行性能测试。

返回结果:

结果说明:

Avg  Stdev       Max         +/- Stdev

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

Latency:延迟

Req/Sec:处理中的请求数

1011584 requests in 30.04s, 819.97MB read (30.01秒内共处理完成了514174个请求,读取了819.97MB数据)

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

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

鲲鹏 Nginx

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《KVM实战:原理、进阶与性能调优》一2.5 与QEMU/KVM结合的组件
下一篇:【云驻共创】华为云大咖带你走进华为云容器引擎CCE
相关文章