jadeyu712 发表于 2010-1-15 10:17:03

这样做并发测试能行吗?(希望大家能帮忙.在此小弟非常感谢)在线等大家的帮忙?

应用程序说明:   .Net2.0, MySQL的数据库.

测试要求:两个客户端(连接到同一个MySql数据库)能同时做一个添加food的功能,如下图:

(说明:查看开发代码.添加这一条记录的主键值是从另一个表中读取出来的.从为添加当前记录主键的值.当添加成功后.再把主键表中的值向前加1.例:当前主键表中的值是10000,当点击OK按钮后.从主键表中知到这一条记录的主键值为10000,然后在food表中添加主键值为10000的记录,再把主键表的值更新为10001).
测试方法:通过LR的.NET插件.代码如下:
          public class VuserClass
    {
      LoadRunner.LrApi lr;
      public VuserClass()
      {
            lr = new LoadRunner.LrApi();
      }

      public int Initialize()
      {
            return lr.PASS;
      }

      public int Actions()
      {
            FoodManagement foodManagement = new FoodManagement();

            //添加foodmenu的操作.
            //1.从主键表中得到当前的主键信息.
            long FoodNo;

            FoodNo = foodManagement.GetTableNo("t_foodmenu");
            lr.think_time(3);
            //下面是向添加Foodmenu的方法.
//插入集合点
         // lr.rendezvous("添加foodmenu");
            lr.start_transaction("T_AddFoodmenu");
            byte[] imageByte=null;
foodManagement.AddFoodMenu(FoodNo,1000003,"kotei01","bread","面包",float.Parse("1.2"),float.Parse("1.3"),float.Parse("1.4"),float.Parse("1.5"),float.Parse("1.6"),(int)FoodNo,"Yes","Yes",imageByte);
            lr.end_transaction("T_AddFoodmenu", lr.AUTO);
             return lr.PASS;
      }

      public int Terminate()
      {
            // TO DO: Add virtual user's termination routines
            return lr.PASS;

      }

    }
当在场景中时,只能成功一个VU.其它的失败.

这样是否说明这个并发是不成功的呢?这样的测试方法是否正确.还有其它测试方法.

[ 本帖最后由 jadeyu712 于 2010-1-15 10:28 编辑 ]

jadeyu712 发表于 2010-1-15 10:34:36

有12个看了.一句安慰的话也没有?哎!

云层 发表于 2010-1-15 10:47:37

看到.net的用Loadrunner做性能测试就头晕,用vsts自带的不好么。。。

blessed 发表于 2010-1-15 11:13:30

现在还不会编码实现性能测试,都是用录制的:L ,帮你顶

Gerrard 发表于 2010-1-15 13:35:44

是不是从主键表锁造成的?

jadeyu712 发表于 2010-1-15 14:52:08

回复 5# 的帖子

什么意思?
能详细说明一下吗?

jadeyu712 发表于 2010-1-15 18:07:22

还是不行呀!

zhuxiaoyan003 发表于 2010-1-16 09:46:36

我很想跟你探讨这个问题,于是认真看了你写的问题描述,但感觉看后仍然很糊涂,不是很明白楼主的意思,希望楼主能踏下心来,仔细的描述一下问题,别有错别字啊。

Gerrard 发表于 2010-1-18 09:38:37

回复 6# 的帖子

http://blog.csdn.net/zmhdgut/archive/2008/07/24/2705812.aspx
这篇文章是介绍表锁的,表锁针对 多个用户同时对数据库的并发操作时造成数据不一致的问题.
你参考一下,对你的测试可能有帮助.
页: [1]
查看完整版本: 这样做并发测试能行吗?(希望大家能帮忙.在此小弟非常感谢)在线等大家的帮忙?