51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5562|回复: 24
打印 上一主题 下一主题

[原创] 用LR做性能测试时,如何解决数据库主键约束问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-8-11 10:16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目可能比较乱,看具体内容吧
用LoadRunner做性能测试
被测试系统:C/S结构
使用协议:WINSOCKT
遇到问题:
录制向数据库提交单据的脚本,单个脚本运行没问题.多个VUSER同时提交时会出错.
原因是提交到数据库里的记录ID(即主键)不能重复.这个ID是到库里自动分配的.
请教各位如何解决这个主键不能重复的问题,我想应该在很多系统里都会遇到这个问题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-8-11 13:01:35 | 只看该作者
自己顶一下。请哪位师傅给予解答啊。3ks
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-8-11 13:09:49 | 只看该作者
这个似乎不是LR能解决的,或者说该解决的,我觉得应该是开发该解决的一个问题才对……
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-8-11 13:19:22 | 只看该作者
数据库生成的ID,在插入数据时,那个字段应该为空吧,
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-8-11 13:30:57 | 只看该作者
这个似乎不是LR能解决的,或者说该解决的,我觉得应该是开发该解决的一个问题才对……
wsbuaa 发表于 2011-8-11 13:09






   但是在实际测试过程中,就确实碰到过该问题。我们该如何解决呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-8-11 15:36:56 | 只看该作者
咋办呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-8-12 09:58:33 | 只看该作者
求解
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-8-15 10:18:15 | 只看该作者
数据库生成的ID,在插入数据时,那个字段应该为空吧,
v522zy 发表于 2011-8-11 13:19



   
不太理解你的问题,

既然ID是数据库分配的,多用户并发也不是真正意义上的并行,ID分配的话应该是不同的,

怎么会导致插入失败呢,,
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2011-8-16 09:15:51 | 只看该作者
求解
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-8-16 10:28:09 | 只看该作者
当多并发的时候如果出现系统主键违反的时候更多是你系统开发的问题,也就是说你和另外几个人一起去领省份证,结果由于出生日期和地点都一样,导致给你们的身份证号码都一样,这是属于系统的错误,你做并发发现了这个问题而已
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-8-16 11:19:54 | 只看该作者
本帖最后由 wower1985 于 2011-8-17 09:32 编辑

应该是随机的出现一些主键冲突吧,明显是开发的问题嘛,联合主键导致的主键冲突,多线程问题。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2011-8-16 12:04:30 | 只看该作者
当多并发的时候如果出现系统主键违反的时候更多是你系统开发的问题,也就是说你和另外几个人一起去领省份证 ...
云层 发表于 2011-8-16 10:28



    -----关于这方面,再请教一个问题:假如在录制脚本的时候没问题,但是在脚本回放的时候就会出现主键约束错误,该如何???是程序的问题?还是脚本的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2011-8-16 12:46:05 | 只看该作者
你录制的时候不会有并发,回放才会有
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2011-8-16 13:02:22 | 只看该作者
你录制的时候不会有并发,回放才会有
云层 发表于 2011-8-16 12:46



    谢谢,你的谆谆教导了。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2011-8-17 17:10:25 | 只看该作者
这个应该是数据库问题,正常向数据库中插入数据的时候,如果像你说的主键由数据库自动分配,那么有2种方法,一种是保证每次插入的主键都不重复,第二种是将该字段至空,其中要注意每种数据库对空的操作不同,有些是直接设置为"",有些要置为NULL哦~~~
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2011-8-18 13:32:42 | 只看该作者
这个应该是数据库问题,正常向数据库中插入数据的时候,如果像你说的主键由数据库自动分配,那么有2种方法, ...
ohuihuio 发表于 2011-8-17 17:10

以上各位的看法都不完全正确的,如果主键由数据库自动分配的话,那么在回放脚本的时候提示重复键的问题也有可能是loadrunner脚本的问题的。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2011-8-18 13:52:02 | 只看该作者
回复 16# JCY

自动设置关联,脚本就会去读数据库自动分配的Id
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2011-8-19 11:58:06 | 只看该作者
受教了
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2011-8-22 20:39:36 | 只看该作者
如果单纯脚本回放的时候就出问题,说明不是并发的问题,而是脚本的问题,脚本某些地方没做关联,导致回放的时候提交了重复的数据。如果脚本回放没问题,跑场景的时候有问题,就有可能被测系统并发的能力有问题。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2011-8-23 16:39:25 | 只看该作者
关注中……
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 10:08 , Processed in 0.081017 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表