liking 发表于 2008-10-16 13:19:15

通过LR调用dll进行性能测试不能得到正确结果!!!

在vuser_init中调用dll:
         int ret;
      ret = lr_load_dll("d:\\hdcdll\\hdcv1.dll");

      if(ret!=0){
                return -1;
    }
      return 0;

在Action中向服务器发送消息:
int ret;
char head;
char body;
char msg;
char resultdata;

sprintf(head, "<head><eventid>U07</eventid><organizationid>123</organizationid><type>2</type></head>");
sprintf(body, "<body><A07><A0701>A001</A0701><A0702>2008-06-08</A0702><A0703>陈可卿</A0703>...........<A07></body>");
sprintf(msg, " ");
sprintf(resultdata, " ");
ret = hdcService(head,body,msg,resultdata);   //dll中的方法,服务器地址通过ini配置文件来设定
lr_output_message("RET=%d, Return:%s\n", ret);

以上脚本在VU Generator中正确运行,并且服务器端接收到消息并将body中的数据存入数据库。通过Controller来运行脚本,脚本可以运行,但是服务器端并没有消息到达。不清楚是不是Controller里的设置有问题,第一次做性能测试,调用dll也是在网上看了视频学来的,对这个问题实在无解。希望有经验的朋友不吝赐教,万分感谢。

CharlesCui 发表于 2008-10-29 10:58:16

用VU跑是一个并发,用Controller跑是多个并发,在并发情况下如果你的DLL里面存在使用不当的全局变量的话,你的DLL方法会无法成功调用的。

跟LR没关系。
页: [1]
查看完整版本: 通过LR调用dll进行性能测试不能得到正确结果!!!