活动介绍
TMQ第四十一期在线沙龙分享活动圆满结束啦!
本次分享的主题:性能测试
共有326位测试小伙伴报名参加活动。
想知道活动分享了啥吗?
请往下看吧!
嘉宾
樊春霖:腾讯测试工程师,目前主要负责业务相关的压力测试和A/B Test平台的建设。
分享主题
性能测试
问答环节
1、对于websocket的性能测试有没有好的手段?jmeter进行websocket测试10万并发是否可靠?或者有没有好的推荐?
答:没有相关经验,不做推荐。
2、ab参数是要写死的,如果压测接口需要使用变化的参数时,比如时间戳,这样ab就不能使用了,有什么执行性能比较高的工具可以推荐?
答:一般来说压测都是使用固定参数,如果需要针对不同参数进行压测,建议选出几组具有代表性的参数,然后每组参数单独进行一轮压测。
也可以试试WRK github地址:https://github.com/wg/wrk ,基于事件机制的高性能http压力测试工具,能够构造不同的url,不同的参数进行测试。
3、docker中进行压测,应用也部署在dokcer,如果线上应用并不是以docker方式部署,那么在进行压测时,怎么去衡量线上性能好坏?
答:保证压测环境和线上保持一致,如果不能保持一致,也需要在压测报告中注明压测环境。
压测数据一定要客观,只能针对压测使用的环境出具客观数据,千万不可臆测,比如压测单节点性能是200TPS,就得出结论线上10个节点的处理能力是2000TPS。
4、在做性能的时候如何建模,常用的建模方法有哪些?
答:网络上有很多相关资料,可以自行查阅。
5、如何设计压测真实的线上环境用例,在测试过程中不会影响线上的正常运行?
答:最好是直接捞取线上真实请求,构造类似参数,一定不要在生产环境进行压测,避免造成生产事故。
6、刚刚老师提到过一个例子,缓存失效后导致数据库崩溃问题,那么在我们在测试环境进行压测时,如何去找出缓存穿透的问题?
答:性能测试主要目标是找出系统性能瓶颈,而不是找bug。可以在瓶颈附近进行稳定性测试,即持续长时间压测,比如1天,可能会发现系统在高负载情况下的某些问题。
7、当客户端出现瓶颈时,常用的处理方法有哪些?
答:多客户端同时压测,或者针对瓶颈优化客户端。
8、介绍下腾讯的GT工具,对比外界工具有啥特别?
答:GT工具已开源,地址:https://github.com/Tencent/GT
9、如果上线后内存发现上涨,QA如何协助分析定位?
答:有些程序为了加快响应速度,可能做本地缓存,测试环境缓存的数据比较少,但线上缓存数据较多,占用内存就会较大。
如果是程序启动就占用大量内存,可以和开发确认占用大量内存是否合理,是否会影响程序稳定性,是否可以优化程序实现方式(比如使用分布式缓存替代本地缓存)。
如果是启动后内存逐渐上涨,直到内存溢出,则可能是存在内存泄漏。
手机扫码下载PPT