接口测试及服务器性能压测
目前移动端app大都还是采用的http或者https协议写的restful接口,一般的辅助类http劫持(fiddler,charles)和模拟发送(postman)工具都可以满足单次单个接口的测试需求,但这种依附工具的测试很难满足多接口调用逻辑验证问题,也不太灵活,没办法做到数据化,还有就是对于接口压测和服务器性能压力测试无法满足,又得借助于其他压测工具(Jmeter
loadrunner等),设计一套基于http和https灵活定制的接口测试框架还是很有必要的。 一般app接口调用都要都要传入平台及参数,登陆成功后拿token,userId作为参数结合平台级参数和接口参数等去调用其他接口。所以这个设计就很简单了。
对于服务器压测和性能测试,也基于同一套框架,多线程模拟多用并发,用户账号密码可以从文件读入或者伪造自增账号,所有用户登录后,每个用户开一线程调用测试接口,高级一点的手段可以保持多线程同步,设置一个集合点,在集合点同时发送http请求;还可以采用用户模型让一个线程依次或者随机调用多个不同接口;最后一种也可以称之为接口monkey测试,对所有被测接口都分配一个权值,代表其可能被调用的频率,每个线程用户按照这些权值随机调用这些接口。
以上三种情况分别模拟了不同角度的测试,可以测试出不同情况接口调用时间最大最小值,失败成功次数,线程执行所需时间最大最小值,流量情况等。
第一种情况已经实现,第二种可以最为第一种的超集,第三种情况刚想到,这周找时间做。
第二篇:服务器性能测试报告
性能测试报告 《无尽的爱纪念网》网站
目 录
目 录 ........................................................................................................................................ 2
1、引言 .................................................................................................................................... 3
1.1编写目的 .................................................................................................................. 3
1.2项目背景 .................................................................................................................. 3
1.3适用范围 .................................................................................................................. 4
1.4 参考资料 ................................................................................................................. 4
2、测试环境............................................................................................................................. 4
2.1 硬件环境 ................................................................................................................. 4
2.2 软件环境 ................................................................................................................. 4
3、测试方针指导..................................................................................................................... 5
4、测试内容............................................................................................................................. 5
5、测试结果及分析................................................................................................................. 6
5.1测试结果 .................................................................................................................. 6
5.2 测试结果分析 ......................................................................................................... 8
1、引言
1.1编写目的
本次测试评估《无尽的爱纪念网》网站在多用户并发操作情况下系统的负载能力,测试目标如下:
■获取测试通用指标和数据库指标,分析测试数据,评估系统性能; ■评估系统可承受的并发用户的最大数量;
■指出可能引起系统瓶颈的原因并提出建设性意见。
1.2项目背景
"无尽的爱纪念网" ()由在深圳市工商局注册成立的"深圳市无尽的爱网络科技有限公司"开发和运营,是一家提供规范网上祭奠服务的专业网站,也是全球第一个可进行高仿真祭奠的交互型纪念网。
自20xx年初开通以来,"无尽的爱纪念网"得到了国家、广东省和深圳市民政部门的支持,受到了广大网民用户的青睐;同时也引起了国内外新闻媒体的关注,新华社、中国新闻社、中央电视台、广东卫视、凤凰卫视、《中国青年报》、《南方都市报》、《新加坡联合早报》等主流媒体进行了广泛报道。注册用户数、纪念馆数以及访问量都一直不断攀升。
"无尽的爱纪念网"为用户提供以纪念馆(网上墓园)为基础的专业网上纪念服务。用户可在本网站为已故亲友建立永久的纪念馆,让散居各地的亲友能够突破时间和空间的阻隔,随时随地在这个网络平台上进行高仿真的、交互式的祭奠活动、发表追思留言和纪念文章等。无尽的爱纪念网还提供高稳定性的网络存储空间,用户可以把先人的生平简介、历史照片、纪念文章、个人作品、声像资料等永久存放在纪念馆内,供后人缅怀追忆。此外,用户还可以建立家族纪念馆园区(家族墓园区),储存族谱和家族资料,使子孙后代了解祖祖辈辈的光荣与梦想。
1.3适用范围
本文档的预期读者为参与本项目的相关人员,包括项目经理、系统分析员、开发人员、测试人员、质量保证工程师等。
1.4 参考资料
暂无
2、测试环境
2.1 硬件环境
系统硬件与网络环境如下:
2.2 软件环境
3、测试方针指导
本次测试的内容是针对《无尽的爱纪念网》网站进行系统架构的性能测试和调优。 测试主要关注点如下:
A、 服务器资源的使用与释放:主要是CPU、内存等;
B、 程序页面数据量的合理分配;
C、 识别系统性能瓶颈;
4、测试内容
本次性能测试选取了用户使用最终频繁的操作和对服务器会造成较大影响的内容,主要测试点为:
1) 用户登陆网站;
2) 首页搜索查询;
3) 高级搜索查询;
4) 进入网墓进行拜祭;
5) 浏览纪念馆中的相册
6) 发表追思留言;
7) 发送祝福卡片;
8) 搜索热门人物
具体用例执行为:
测试过程及步骤:
按照每个脚本用户并发量以10、15、20的数量进行压力测试,响应时间和服务器吞吐量在要求的范围内即为通过。
5、测试结果及分析
说明:
1) 测试工具在进行性能测试时,记录运行时间,本记录中选取了执行时间最长和
最短的ID进行了记录。
2) 响应时间指该ID发出请求到服务器,服务器接受请求,处理该请求的响应时间,
时间单位为毫秒;
3) 测试用例需经过反复测试来统计最终的数据. 本系统每个性能测试脚本至少运
行3次以上.
5.1测试结果
(1)并发用户数为80(10*8)
(2)并发用户数为120(15*8)
(3)并发用户数为160(20*8)
响应时间:
5.2 测试结果分析
(1)当并发量在120个用户以内时,监控到系统运行正常,即各页面访问操作正常,随着并发量增加到160个用户时,监控到服务器压力明显变大,数据库连接及操作频繁,很多事务响应时间超过脚本的等待时间(120s)而导致事务失败,多个页面也出现如下图所示错误:
同时,在访问其他页面时,访问速度显示变慢甚至不能访问。
(2)建议对上述所涉及的功能进行优化,主要从数据库操作语句、程序逻辑处理等方面考虑。
(3)建议调整中间件参数设置,包括apache,mysql,php的相关设置,以达到最优状态。目前该项工作正在进行调整及测试优化。
(4)在有条件的情况下,建议数据库服务器与WEB服务器能分离,使其分工更加明确,保证运行效率,同时安全性更高;
(5)经了解,目前程序架构没有采用较好的缓存系统,随着业务的快速发展,面对高并发的情况,即使增加各种硬件,系统仍会存在严重的瓶颈。为了更好的适合业务需求,在条件允许的情况建议对现有系统进行架构改造,引进高性能,分布式的缓存系统,例如采用memcached技术等。