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错误分析:最大打开文件数超过限制

python 复制代码
# 查看系统打开文件值 Max open files

  cat /proc/`ps -ef | grep nginx|grep -v grep|head -1|awk '{print $2}'`/limits

  # 修改

  vi /etc/systemd/ststem.conf

  # 修改两个值

  DefaultLimitNOFILE = 102400

  DefaultLimitNPROC = 102400

  # 随后重启系统

(2)redis错误分析:保存频繁导致内存不够了。(暂未找到最合适的方案)

点击查看更详细的错误分析:Redis-redis异常解决以及日常命令

(3)mysql暂没找到方案。

总结:

相同的配置&高并发场景下redis比mysql要可靠很多,伴随着并发越来越高服务器、程序、数据库各方面的问题扑面而来,不要慌,这才是你真正需要学习的东西!生于忧患死于安乐,只有不断的处理问题,才能真正的驾驭程序!祝你早日成功!!!

本文最高测试并发在3000循环次数为3次,服务器环境为lnmrp,系统配置为2核4G6M,因为redis的问题没有解决不能做更高的并发测试。并且还有一个redis的问题没有解决,待我研究几日说。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
木叶丸5 小时前
从 Loop 到 Graph:AI 智能体协作系统工程指南
前端·后端·架构
吴懿不在 不负信仰7 小时前
从jQuery谈库与框架的设计之优劣
前端·javascript·jquery
灵析表格7 小时前
灵析表格手机号处理函数深度分析报告
前端·网络·json·wps·灵析表格·excel公式盒子
智海深蓝7 小时前
智慧渔业海上养殖数字孪生实践方向与难点拆解分析
java·前端·网络
丁引7 小时前
《数据清洗的艺术:如何用20行核心逻辑优雅地删除无标签图片》
前端·数据库·python
Bigger7 小时前
Han:一个让 AI Agent 也能做出高级中国风页面的 CSS 设计系统
前端·ai编程·设计
梦想的旅途28 小时前
企业微信自动化:自动发送文本、图片、文件
前端·数据库·microsoft
MartinYeung58 小时前
npm爆发大规模供应链攻击 蠕虫污染 2000+ 个包版本: 深度技术剖析
前端·npm·node.js
huabuyu8 小时前
治好 AI 长回答的卡、闪、膨胀:渲染开销从 50 万次砍到 1000
前端·javascript
嘟嘟07178 小时前
学了 useContext 还是不理解?从 prop drilling 到 useMouse 的一次完整复盘
前端·javascript·react.js