300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > web服务器性能测试---服务器性能测试实例

web服务器性能测试---服务器性能测试实例

时间:2023-12-07 11:25:03

相关推荐

web服务器性能测试---服务器性能测试实例

WEB性能测试--服务器

目录

一、准备测试环境............................................................................................................1

二、测试步骤...................................................................................................................2

1、搭建 WEB Server 过程略过.................................................................................2

2、安装模拟访问工具 ab...........................................................................................2

3、安装性能查看工具................................................................................................2

4、测试命令以及参数................................................................................................2

5、系统性能分析命令................................................................................................4

6、测试结果..............................................................................................................5

WEB 服务中,对于不同的请求,响应速度(性能)是不一样的。对于静态文件的响应一般会很快,尤其是使用了前端缓存技术的(例如 nginx 缓存、varnish缓存、CDN 缓存等)。

下面将以静态页面的测试为例,详细讲解 WEB 服务性能测试方案。

在只有一台裸机的情况下,响应速度会受限于服务器的 CPU、内存、磁盘IO、数据库QPS、文件系统 等,所以需要在测试的时候,实时监控系统的情况。

参考的测试方式:/higkoo/item/f3258f02a5afa925a1312d26?qq-pf-to=pcqq.c2c

一、准备测试环境

请根据实际情况组建测试环境,如果要测试线上 WEB 服务,不怕影响服务质量的话,也可直接使用线上环境。

下表是我使用过的一个测试环境。

二、测试步骤

1、搭建 WEB Server过程略过

2、安装模拟访问工具 ab

如果机器已经安装了 Apache httpd ,则一般都自带 ab 工具,使用命令 which ab 可以找到 ab 的安装路径。如果找不到 ab 命令,请安装 httpd 即可(Redhat):yum install httpd。

3、安装性能查看工具

Redhat:yum install -y dstat

详细中文使用方法参考:/article-3215-1.html

4、测试命令以及参数

4.1、ab 命令参数

直接运行 ab 可以得到使用帮助,这里说一下 ab 命令的常用参数:

例子:ab -n100000 -c 200/

NOTE:一些低配置的机器,在运行 ab 命令的时候可能会出现问题,主要是打开文件数太小导致的。并发数越高,越容易出现这样的问题。

4.2、测试结果解说

注: 1、mean是平均数的意思

2、第一个Time per request代表每个链接上单个请求的平均响应时间

第二个Time per request所有链接合计后单个请求的平均响应时间

它们之间的关系是:Tpr1=Tpr2*n,这里的Tpr1=23.054,Tpr2=0.115,n=200。

3、下面将 Requests per second 简称为 RPS,第一个 Time per request 简称为 TPR

从 ConnectionTimes 可以看出,请求在建立到响应的过程中,哪个环节下消耗的时间比较多。

测试 WEBServerd的最大(佳)并发数

打开网页的速度(取决于请求响应时间)是一个很重要的用户体验。

然而请求响应时间存在小部分的极大值和极小值,那么平均响应时间不能真实反映请求响应速度,所以取95% 在某时间阀值内(例如25ms)完成比较合理。

所以假设业务的需求是:95% 请求的响应时间 < 25ms 。

假定请求总数不变,每次测试时改变并发数连接数,倘若测试结果中,有95%的请求能在25ms内处理完成,则认为当前的并发响应数是最大(佳)并发数。

同时记录服务器 CPU、内存、系统、IO、网络流量 的情况。

对于ab -n 100000 -c 200/,取 3 次的平均值作为测试结果。

5、系统性能分析命令

dstat -h可以获取帮助信息

命令解释:dstat -t -c -dD sda1 -nN eth0-gyl

在客户端运行 ab 测试命令之前,预先运行 dsetat 命令,查看测试前机器的状态;等到测试的时候,再对比一下测试前后系统的状态。

6、测试例子结果分析

这里想要测试 WEB Server 的大体性能,只需要测试 Requests per second 的值即可。

6.1、短链接并发测试

每个命令运行 3 次,然后取平均值

ab -n 100000 -c 1/

ab -n 100000 -c 50/

ab -n 100000 -c 100/

……

6.2、长链接并发测试

ab -n 100000 -c 1 -k/

ab -n 100000 -c 50 -k/

ab -n 100000 -c 100 -k/

……

6.3、测试结果

使用excle做成表格,使测试结果更加形象

从图中可知:WEBServer 对于请求/每秒的最大响应数为 1W 左右。

Nginx 官网说能达到 5W RPS,可见当前的 WEB Server 离那个目标还差很远。

下图是测试过程中,WEBServer 的性能监控记录:dstat -t -c -dD sda1 -nN eth0 -gyl

测试前

短链接测试时(并发 700 )

长连接测试时(并发 700 )

测试前后,变化较大的有:

l 网卡流量

l CPU 中断数量以及上下文切换数

l 1分钟之内的系统负载

从性能监控记录看,进行测试时,系统性能还处于一个比较空闲的状态,负载较低。

结合测试的 RPS 和 系统性能,发现 WEB Server 还有很大的进步空间,需要进行更加深入的专业优化。

当然,这是一个很简单的测试,如果涉及到比较负载的业务等,系统各方面的负载也会相应的增加的。

测试结果详细记录表

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。