zoukankan      html  css  js  c++  java
  • 老李分享:loadrunner 的86401错误

    老李分享:loadrunner 的86401错误

     

    系统和软件配置: 

    os:windows 2003
    loadruner版本:LoadRunner11
    loadrunner:协议:SMTP协议
    并发数:200

    问题描述:

    失败27个
    失败信息:
    error -86401 Failed to connceted xxx.xxx.xxx.xxx:25

    分析过程:
    固定失败27,排除服务器错误
    怀疑是客户端自己的问题(虽然正常的几台负载机和有问题的负载机,硬件配置,软件版本都一样,但有问题的一直有问题,正常的一直正常)

    验证:
    怀疑TCP连接数做了限制,验证后可以解决

    解决方法:
    方法一:
    windows 2003对tcp的连接数做了限制,超多这个数目就会出现系统缓冲区空间不足或队列已满错误。
    增加tcp链接数,修改注册表如下:

    reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters" /v "MaxUserPort" /d "65534" /t REG_DWORD /f
    reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters" /v "TcpTimedWaitDelay" /d "30" /t REG_DWORD /f
    reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters" /v "TcpNumConnections" /d "65534" /t REG_DWORD /f

    win2003机器上用LR负载机,MaxUserPort已经是65534,TcpTimedWaitDelay已经是30,只是没有TcpNumConnections

    方法二:
    在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大 线程数所导致。要想突破Windows这个限制,须修改Windows注册表。以Windows XP Professional为例。
      (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:SystemCurrentControlSetControlSession ManagerSubSystems。
      (2)找到Windows关键字,Windows关键字如下所示:
      %SystemRoot%system32csrss.exe bjectDirectory=Windows
      SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1
      ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2
      ProfileControl=Off MaxRequestThreads=16
      SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。
      (3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。

    注意,上面两种方法,因为修改注册表,都是重启服务器才会生效,只重启LR没有用。

  • 相关阅读:
    KVCKVO
    音频
    静态库
    百度地图API
    CALayer
    触摸事件
    iOS中打电话、打开网址、发邮件、发短信等
    NSURLSession网络接口
    Quartz2D常见图形的绘制:线条、多边形、圆
    通知中心(NSNotificationCenter)
  • 原文地址:https://www.cnblogs.com/poptest/p/4933626.html
Copyright © 2011-2022 走看看