WEB性能测试-JMeter工具测试并发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WEB性能测试-并发测试
今天根据程序开发的逻辑和习惯来解决几个问题:
(1)JMeter并发测试的基本使用。
(2)redis和mysql相比的性能差距如何?
(3)大量的并发和请求下redis、mysql、nginx各自会出现的问题?(4)遇到并发带来各种各样的问题如何解决?
问题一:JMeter并发测试的基本使用
(1)设置系统语言:Options->Choose Lanuage 里选择适合你的语言。(2)添加线程组:
(3)设置线程属性:
线程数:也就是并发数。
Ramp-Up时间(秒):并发时间,0为同时并发。
循环次数:重复次数。
(4)添加HTTP请求:
协议:http或https。
服务器名称或IP:请求地址。
路径:要请求的路由或文件路径。
参数:添加请求参数。
(5)添加察看结果树:可查看发送的数据,返回的结果等。
(6)添加汇总报告:可查看错误率,吞吐量等。
问题二:大量的并发和请求下redis、mysql、nginx各自会出现的问题?
在同时并发2000的情况下(因为redis队列为异步,所以这里不考虑redis出列的性能问题):
mysql:错误率87.9%,成功条数241。
redis:错误率0.35%,成功条数1993。
总结:从以上结果可以看出在高并发场景下msyql扛不住压力错误率高。
结论:redis在处理并发性能优于mysql。
问题三:大量的并发和请求下redis、mysql、nginx各自会出现的问题?
3000并发循环请求3次相当于9000的次请求的情况下:
(1)nginx报错:Too many open files(打开的文件数超过限制nginx默认为1024)。
(2)redis报错:RDB: 2 MB of memory used by copy-on-write。
(3)mysql直接写入失败。
问题四:遇到并发带来各种各样的问题如何解决?
(1)nginx错误分析:最大打开文件数超过限制
(2)redis错误分析:保存频繁导致内存不够了。(暂未找到最合适的方案)
点击查看更详细的错误分析:Redis-redis异常解决以及日常命令
(3)mysql暂没找到方案。
总结:
相同的配置&高并发场景下redis比mysql要可靠很多,伴随着并发越来越高服务器、程序、数据库各方面的问题扑面而来!