抢红包性能测试测试案例
来源:互联网 发布:苹果手机移动数据开关 编辑:程序博客网 时间:2024/04/30 20:21
场景描述:抢红包活动,现场700人,每个人必须中奖,中奖活动开始过程中出现宕机;参数(C3P0 100连接数,超时时间30秒;tomcat 连接池4096 ;JVM内存 1024M 1024M 64M 512M)
处理过程:使用loaderrunning进行性能测试,对数据库连接池数量进行,tomcat线程数,JVM内存进行参数调整,加压测试。
发现问题:
1、 程序宕机是因为有数据库连接未关闭的情况,导致数据库连接没有释放,最终所有线程等待,宕机(出现数据库连接异常)。
2、高并发环境下出现数据藏独现象(两个人同事中了同一个CDKEY),采取了hibernate乐观锁。添加方式如下:
数据库表添加version字段
pojo
private Integer version;
<class name="com.hxjr.pojo.Cdkey" table="CDKEY" <strong>optimistic-lock="version" </strong>> <id name="id" type="java.lang.String"> <column name="ID" length="40" /> <generator class="uuid.hex" /> </id> <!-- version标签用于指定表示版本号的字段信息 --> <strong><version name="version" column="version" type="integer"></version> </strong>
添加乐观锁之后出现的新问题就是当两条数据对同一个记录进行操作的时候,只有一个会成功,第二个会抛出异常。场景需要每位用户都必须中奖,在这个基础上做了以下优化:
1. 每次更新操作,刷新session;
2. 异常数据接到异常在进行处理。
try{zpList = this.activityService.meetingDoQhbRandom(peActivityId, empno, page, rows);}catch(Exception e){try{Thread.sleep(500);zpList = this.activityService.meetingDoQhbRandom(peActivityId, empno, page, rows);}catch(Exception e1){Thread.sleep(500);try{zpList = this.activityService.meetingDoQhbRandom(peActivityId, empno, page, rows);}catch(Exception e2){zpList = this.activityService.meetingDoQhbRandom(peActivityId, empno, page, rows);}}}
数据优化了很多,但是还存在不中奖需要重新抽的情况。
后期讨论了两套解决方案:
1 才是缓存或者内存数据库存放cdkey
2 使用代码同步机制,锁住代码块。
0 0
- 抢红包性能测试测试案例
- 性能测试指标+案例
- RabbitMQ性能测试案例
- 某系统性能测试案例
- 一次sqlldr性能测试案例
- 性能测试小案例分析
- 网上银行系统性能测试案例
- 性能测试案例模板 性能测试用例模板
- JMeter压力测试(二)-JMeter测试抢红包示例
- 互联网性能测试案例和经验分享
- JAVA性能测试与调优案例
- dynatrace 前端性能测试分析案例
- 性能测试常见问题案例与原因
- 性能测试案例分析——连接池性能优化
- 微信收红包自动化测试脚本
- 《软件性能测试过程详解与案例剖析》--读书笔记之性能测试过程模型PTGM
- 测试-性能测试
- 架构测试&性能测试
- nike tn officiel etc.
- Vericut01_入门体验
- 30个免费网页图标字体以及使用方法
- 长按出菜单!!!!!!!!ContextMenu
- [Accessibility] Missing contentDescription attribute on image 解决方案
- 抢红包性能测试测试案例
- 微信分享无法唤醒App的最真实的解释(亲身经历)
- Qt学习笔记(一) 第一个Qt应用程序
- VMware虚拟机网络设置
- 算法 n!的0
- 百度地图瓦片基本参数计算
- Python 网络爬虫系列(二) --- 伪装成浏览器访问
- 百度钱包,送10元现金
- timberland pas cher functioning boots|timberland remains