测试服务器高并发工具_测试高并发的工具

hacker|
81

文章目录:

apache并发测试工具ab为什么测不准

我们常常使用apache下的并发测试工具ab进行动态或静态页面URL的并发测试,以此作为服务器性能、配置以及系统架构是否合乎要求的一个衡量标准。 但是有一个问题,就是ab的表现并不稳定,在不同的机器上用ab对同一个服务器上的URL资源做测试常常出现截然不同的数据。就算在同一台机器上用ab做 测试,测试10组数据,也会有几组的数据存在较大的差异,以下是我曾做过的几组试验,先介绍下试验步骤及环境。

1、首先准备一台机器作为web服务器,硬件配置为硬件配置为Intel(R) Celeron(R) CPU G530 @ 2.40GHz 32位 内存4G 双核,系统版本CentOS release 5.5,web服务器版本Apache/2.2.14。

2、web服务器采用apache,采用worker模式,具体配置为:

默认开启5个进程,每个进程下2个线程,最大开75个线程(此参数关系到实际系统开启的进程数,如果开启进程设置过多,以最大线程数为准),最大连接数为500。

3、apache以调用php模块的方式执行php脚本(非fast-cgi模式)。

4、首先在两台不同的机器上对此服务器用ab进行压测,将两台不同的机器编号为A与B,A为一台笔记本,性能较差,2G内存,且上面运行了一些程序占用 了一定比率的CPU及内存。B为一台台式机,硬件配置为CPU Intel G530 2.4GHz 内存 4GB,下面是测试数据:

A

50个并发,执行50次页面(每个连接执行一次页面,页面为phpinfo页面)

平均执行时间在17~18秒 简直不能忍

B

50个并发,执行50次页面

平均执行时间在0.2秒左右 毫无压力(3次平均)

100个并发,执行100次页面

平均执行时间在0.4秒左右 (3次平均)

200个并发,执行200次页面

平均执行时间在0.8秒左右(3次平均)

用A机器进行的测试结果,并发量连50都达不到,但用B机器测试WEB服务器可以胜任200个并发处理。为什么会出现如此截然不同的数据差别,还是要从原理上来分析。

ab是客户端模拟多线程来通过socket对服务器发起TCP请求,并等待服务器处理执行页面输出页面结果并返回到客户端以此来计算页面的执行时间等相 关数据。那么客户端CPU处理多线程的能力,测试时客户机的CPU状态、内存状态都会对测试结果造成影响,如果客户机同时处理这么多请求的能力很弱,那么 需要很长时间才能将请求发送到服务器,服务器处理完后也需要很长时间对返回数据做处理,这样就达不到测试服务器性能的要求了。因为时间都被客户机耗去了。 所以我们在测试的时候首先要选择好测试机,尽量选择性能较好的机器测试。因为得出的结论是天差地别的。

5、接下来我们单独用B机器进行测试,进行高强度的测试,连续测试20组数据,以200个并发、执行200次页面为测试条件,测试页面还是phpinfo页面,以下是测试数据:

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

每秒请求数:237 每个请求执行时间:843

测试结果非常稳定,没有大差异的结果。那么用300个并发、执行300次页面为测试条件结果会是怎样呢,以下是测试数据:

每秒请求数:79 每个请求执行时间:3765

每秒请求数:80 每个请求执行时间:3718

每秒请求数:81 每个请求执行时间:3671

每秒请求数:80 每个请求执行时间:3750

每秒请求数:79 每个请求执行时间:3796

每秒请求数:81 每个请求执行时间:3687

每秒请求数:79 每个请求执行时间:3765

每秒请求数:82 每个请求执行时间:3656

每秒请求数: 81 每个请求执行时间:3703

每秒请求数: 82 每个请求执行时间:3640

在高并发下的执行结果也比较稳定。

6、接下来我们在web服务器上进行测试,看测试结果是怎样的,测试10组数据 以200个并发、执行200次页面为测试条件,测试页面为phpinfo页面,以下是测试数据:

每秒请求数:1716 每个请求执行时间:116

每秒请求数:1764 每个请求执行时间:113

每秒请求数:1706 每个请求执行时间:117

每秒请求数:1643 每个请求执行时间:114

每秒请求数:1767 每个请求执行时间:113

每秒请求数:1732 每个请求执行时间:115

每秒请求数:727 每个请求执行时间:274

每秒请求数:249 每个请求执行时间:801

每秒请求数:1728 每个请求执行时间:115

每秒请求数:113每个请求执行时间: 1765

以上结果,比在B机器上表现的更好,但存在几个不稳定的数据。分析一下,一方面是网络传输速度的原因导致(本机上网络传输速度更快,所以成绩较好)。另一 方面是由于ab本身在执行的时候消耗的cpu的性能,但这个我的观点是影响可以忽略不计。还有一方面导致数据不稳定的因素可能是由于TCP连接在上一次测 试时为完全释放导致的原因。

综上所述,对于测试web服务器的性能,我们最好可以找一台独立的、性能较好的、并且上面没有运行很多应用程序的机器进行测试,这样的结果会更接近生产环 境的实际结果。实际的php页面执行复杂度可能是phpinfo的好几倍,所以在选定测试页面时,可以预先做一些复杂度更高的php页面进行测试,这样测 试的准确度会更高。

性能测试的工具

网络监控--透视宝APP端监控提供完善的网络监控功能,能够支持各种流行的网络库,第三方的ASI和AF、系统库NSURLSession和NSURLConnection,丰富的监控指标确保准确定位问题根源。包括网络请求的响应时间、请求类型、请求的POST参数、参数大小、首包时间、响应数据大小。 如果请求发生错误,能准确抓取错误码、错误信息、错误类型,通过和服务端的配合能进行端到端网络性能分析。

Socket请求分析,透视宝APP端监控查看响应最慢的主机以及异常数最多的主机。通过主机IP进而查看单次连接的详情,包括设备的详细参数、连接耗时、DNS解析耗时以及向Server端写或读时的耗时及字节变化趋势。 标记出有异常的Socket。异常信息通过摘要查看更加详细的分析,包括异常次数的变化趋势、设备分布、操作系统分布及异常堆栈。

支持对Android ANR信息和IOS卡顿信息的抓取,通过深入追踪和分析相关线程、Trace文件和信息,帮助您发现引起ANR/卡顿的原因,通过优化应用程序的性能,提升玩家的用户体验。 提供ANR/卡顿详情,包括App基本的软硬件信息、ANR/卡顿线程、全部线程、ANR/卡顿Trace文件及ANR/卡顿Message信息。

通过运营商、区域、接入点、设备以及操作系统等不同维度的数据分析 帮您在复杂的环境中“拨 云见日”

公司做手游的,最近想做服务器压力测试?有没有什么工具推荐

手游服务器测试主要有以下几个方面要做:

负载测试

稳定性测试

接口测试

容量测试等

安利一款工具可以很好地进行服务器压力测试:WeTest腾讯质量开放平台

测试高并发,实时性能报表,专家级性能优化建议,你要做的仅仅是填下被测的URL即可。

linux 这么测试当前服务器最高并发承载能力

linux的版本也分很多种,而且你要测得是网页的并发量吧

那你可以查看apache当前并发访问数:netstat -an | grep ESTABLISHED | wc -l

最大并发量就在 httpd.conf中MaxClients的数字

性能测试工具有哪些

测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBM Rational、 Compuware和Empirix等公司的产品,而MI公司的产品占了主流。白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具:直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。

静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。

动态测试工具:动态测试工具与静态测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。

动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。黑盒测试工具黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。

黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。性能测试工具专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的 WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。

MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。

测试管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。 满意的话请采纳!

如何做高并发测试

工具非常简单易用,只需要设置几项内容就可以对于个服务端进行压测.在这里比较注意的就是测试模式这里,工具主要提供两种测试模式分别是

应答模式:当连接接收服务端响应后马上进行下一次请求消息发送

间隔模式:连接根据设置的间隔时间来进行发送请求消息

消息编辑

在发起测试之前还需要给工作添加测试消息,明确工具向服务器发送那些消息内容

2条大神的评论

  • avatar
    访客 2022-07-07 下午 01:07:58

    般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Co

  • avatar
    访客 2022-07-07 下午 11:45:51

    :843 每秒请求数:237 每个请求执行时间:843 每秒请求数:237 每个请求执行时间:843 每秒请求数:237 每个请求执行时间:843 每秒请求数:237 每个请求执行时间:843

发表评论