服务器压力测试怎么做(服务器压力测试平台)

web压力测试 要测试哪些方面

web压力测试通过产生真实压力来发现问题需要关注以下方面:

1、对要测试的系统进行分析,明确需要对哪一块做压力测试。比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大

再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大

那么就可以针对这种占比比较大的模式进行压力测试

2、明确了要测试的点后,如何对这些测试点进行施压呢?

第一种方式可以通过写脚本产生压力机器人对服务器进行发包收包操作;

第二种方式就是借助一些压力测试工具如:JMeter或LoadRunner

3、如何对这些测试点进行正确的施压呢?

那么就需要用压力测试工具或者其它方法来录制脚本,模拟用户的操作

4、对测试点该施加多大的压力比较合适?该施加多少的数据才能找出系统的瓶颈?

那么就需要明确压力测试所限制的数量,即用户并发量,这里分3种情况来明确:

1)根据上级的明确规定数量,来设定最确大值,然后根据情况往上或往下增减

2)上级未规定,由自己判断,从1开始慢慢递增。如:1,5,10,20等等

3)若做过压力测试,则可以根据上次的压力测试结果为基数进行测试

5、测试完之后,如何通过这些数据来定位性能问题呢?

虽然通过这些测试结果我们可以得到TPS(吞吐量),平均响应时间等这些数据,可判断出服务器是否存在问题,但却不能定位问题。

多台服务器负载均衡的压力测试要怎么做

负载均衡是算法上的问题,按常规软件测试的方式来。

如果负载没问题,那理论上压力测试只要测单个服务就行了。

游戏上线前服务器压力测试应该怎么做

对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。

要得到可支撑的\"最大同时在线人数\",主要做好2件事:

1、设计你的类现网压力模型

在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。

对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。

对于b,同样在内测阶段收集玩家平均操作频率。

此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。

2、用压测工具构造出符合压力模型的压力

这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点,同时在线人数。

如何对Tomcat服务进行压力测试

英文原文

如果你在测试一个由Tomcat servlet容器(或者Apache web服务器)组成的环境时,你很可能会碰到瓶颈,因为Tomcat servlet容器使用Apache JServ Protocol - AJP。所以,如果想要评估Tomcat引擎的性能的话,最合适的方式就是使用相同的AJP协议。

使用 Apache JMeter ,你可以通过采样器(sampler)模拟发送AJP请求并返回结果 -- 也就是AJP/1.3采样器。你也可以用这个JMeter采样器来压测WildFly,Jetty和GlassFish servlet等Web容器,它们都是用AJP协议。这篇文章将会讲解如何来进行测试。

AJP是一个致力于从web服务器路由请求到应用服务器的二进制通信协议。在web服务器和应用服务器之间通信,AJP协议比HTTP协议更加高效,因为它是使用了压缩的二进制协议。例如,对于一个请求方法(“POST”或者“GET”),AJP只需要一个字节来表示,并且每个请求头只需要两个字节。所以,需要发送的信息大大减少,也就是得每个请求的处理也更快。

请求的处理大致如下:

对于这样的应用架构,JMeter AJP/1.3 采样器可以通过在你的系统上建立AJP连接,然后发送AJP请求到应用服务器,从而进行压测达到查找应用瓶颈的目的。

目前有3个版本的AJP协议 -- 1.2(废弃的),1.3 和 1.4(实验版本)。JMeter的AJP/1.3采样器支持1.3版本的AJP协议。

现在,我们来演示如何使用它。

AJP/1.3 采样器可以将这里设置的HTTP请求转换成AJP请求。正如你所看到的,它的界面和HTTP采样器的十分相似。

AJP 采样器有一个限制 -- 当前版本的实现不支持在一个请求里上传多个文件。只有第一个文件会被上传。必须使用多个AJP 采样器来上传多个文件。

现在,让我们来看看AJP 采样器在JMeter脚本里是如何工作的。首先,我们先在本地机器上启动一个Tomcat实例,然后配置它来发送POST请求。 Tomcat 9 默认就带了一些servlet示例,可以用来测试AJP请求。

我们的测试场景是:

接下来,我们会使用 AJP 采样器 来产生同样的请求。

在前面的章节里,我们的servlet可以接受两个参数并在结果里返回它们的值。现在,我们使用AJP 采样器来发送带参数的AJP POST请求,通过JMeter执行,并在相应结果里拿到我们在请求里设置的参数。

设置完成后的采样器如下:

6.现在,我们可以运行结果,并在监听器里查看结果。

现在,可以看到我们的采样器已经顺利地把带有我们设定的参数的AJP请求发送到我们的服务器上。并且,可以看到之前设置的参数都列在“Paramater in this request”部分 -- 这意味着我们的服务已经收到我们的请求了。

恭喜!你现在知道怎么压测AJP协议以及Tomcat服务了。为了更加方便地去执行你的测试,你可以将脚本上传到 BlazeMeter 上,然后直接在云上运行。你能够很方便的进行扩展,协同合作,并且可以得到高级的报表。

如何做压力测试

一个压力测试的流程:

1、明确测试目标

2、制定测试计划

3、实施测试,收集参数

4、分析测试结果

5、给出优化方案

一 、明确测试目标:如果是客户的需求,那需要向客户确认,有清楚的性能指标参数,测试时就是保证系统达到该指标并能良好运转,即压力测试。如果是自己的系统需要有一个评估,那就需要完整的得到该系统的几个临界点,拿到完整的性能曲线,从而来分析部署情况,即为性能测试。不管是哪个,知道了需求,才能制定计划。

性能测试的目标是发现重大的系统瓶颈。你可以想象一个系统由一系列的瓶颈组成;发现并改善一个瓶颈往往会在其他地方产生一个新的瓶颈。例如,我曾为一运行微软Windows CE的器件部门工作。我们发现的第一大性能问题体现在某一具体硬件环境下的内存管理中。我们把问题分离出来,改善了内存分配的效率。尔后再次运行我们的测试,又找到了一个新的瓶颈,这次体现在网络吞吐量上(throughput)。解决了这个问题后,我们接着又为下一个瓶颈改善而工作,然后再下一个,直到整个系统都达到了性能目标。要记住的是:关键在于要尽早订立性能目标,否则你可能不知道什么时候该停止性能测试。

二、制定测试计划:确定使用什么工具,着重哪些参数,设置线程数,方法执行次数,执行时间,是否多个接口同时进行测试等等。

三、实施测试,收集参数:选一个施压工具,来向部署好的服务发起高并发请求,同时关注和收集性能参数。这个是我们花费时间最多的地方。通常该阶段需要反复执行,来得到想要的数据。通常来说,我们可以使用JMeter LR AB 自己写多线程等各种方式,之后介绍一下JMeter。

四、分析测试结果:即根据上一节的参数介绍来进行参数分析。

五、给出优化方案:如果是代码逻辑耗费cpu,就优化算法;如果是redis等数据库耗时,就增加节点,减少读取,读写分离,使用内存等;如果是外在条件限制,则与外部们沟通问题,共同优化等等。

如何用Jmeter做压力测试

我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能。下面介绍如何用jmeter登录系统再对主业务做压力测试。

1. 运行jmeter

2. 左边树将出现测试计划、工作台两根节点。

3. 选择测试计划,按右键-》添加-》threads(users)线程组

线程组能设置以多少个线程并发做压力测试。

在”循环次数”设置不选择永远,循环次数设置1。

4. 现在先介绍如何设置登录http请求,选择线程组,右键――添加――》sampler-―》http 请求。

http请求即模仿浏览器的访问。

在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。

登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001;login_password=1;actFlag=login

5. 登录成功后,网站一般将跳入主页面。在jmap中可做判断,判断是否登录后按预想进入主页面(此步骤也可不设)。选择4中的“http请求“,右键――》添加――》断言――》响应断言。“Apply to”设置Main smaple only;“要测试的响应字段”设置“url样本”;“模式匹配规则”设置“包括”,“要测试的模式”增加页面跳转到的主页面,如:“studentMain.jsp”

6. 一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。

选择“线程组”――》右键――》添加――》配置元件――》Http cookie管理器。加了此步骤后,http请求将具备cookie功能,即登录成功后访问其他页面将不会跳转到登录页面重新登录。

7. 对目标页面反复压力测试。

7.1 如何使被测页面反复访问达到测压效果。选“线程组”―》右键――》逻辑控制器――》循环控制器。循环次数中选择“永远”。

7.2 选择刚加的“循环控制器”,右键――》添加――》sampler-―》http 请求,按4步骤设置ip、端口,http请求方法为“get”,路径为被压力测试的url,如:“exam/business/studentExam.action.StudentExamAction?action=goIntoMockExam”。

按上面的设置后,已完成配置,可做压力测试。只需点菜单“运行”――》启动,即运行压力测试。

8. jmeter提供了许多压力结果查看工具。是压力测试时非常好的分析工具。下面几种查看工具可有选择的添加。

8.1 察看结果树。他记录每次请求发送数据、响应返回数据。选择“线程组”――》右键――》添加――》察看结果树。

8.2 用表格查看结果。可查看每次请求的响应时间等。选择“线程组”――》右键――》添加――》用表格查看结果。

8.3 Summary Report。可查看平均响应时间、最长响应时间等。

未经允许不得转载:便宜VPS网 » 服务器压力测试怎么做(服务器压力测试平台)