麻烦问个问题,提示“Timeout expired!”,然后导致程序死掉。帮忙看看了,在线等待!

zcmmhu 2003-09-17 09:15:53
提示错误如下所示:
Server Error in '/department' Application.
--------------------------------------------------------------------------

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.]
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +396
System.Data.SqlClient.SqlConnection.Open() +384
department.teacher.CalculateRecord() in e:\wwwroot\department\teacher.aspx.cs:101
department.teacher.Page_Load(Object sender, EventArgs e) in e:\wwwroot\department\teacher.aspx.cs:46
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731

程序做得有些时间了,以前用着挺好的,不知现在什么原因,为了取消上传文件大小的限制,我在web.config文件中加了如下代码,是不是这里错误了。
<httpRuntime executionTimeout="600" maxRequestLength="100000" useFullyQualifiedRedirectUrl="false" />

先谢了,还望各位多多关照。一定感谢!
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcmmhu 2003-09-17
  • 打赏
  • 举报
回复
好好学习e文!呵呵
zcmmhu 2003-09-17
  • 打赏
  • 举报
回复
呵呵,不好意思,哈哈
谢谢各位了!
这里的确有问题。
树猫 2003-09-17
  • 打赏
  • 举报
回复
看错误提示是:数据库连接池耗尽。
所以可能是你每次数据库操作后没有及时关闭 当前数据库连接对象,从而导致数据库连接池资源耗尽。默认的连接池中的连接对象是100个,可以通过 Max Pool Size 来修改

每次数据库操作后及时关闭当前数据库连接对象
zcmmhu 2003-09-17
  • 打赏
  • 举报
回复
检查是否有打开的数据库连接没有及时关闭

这个我再检查!

发生问题的过程中有人 在传大文件吗?
.net上传文件时对文件大小有限制,当时做的时候对这块好想做了些什么,呵呵,csdn上copy的也忘了是什么了,呵呵,我估计应该是这里的问题吧!看来要过去看看了!

谢谢 lese9(乐色.Net) 了,呵呵
zcmmhu 2003-09-17
  • 打赏
  • 举报
回复
大文件传输的过程中没问题,但是传输过之后就出错了!
传了个三兆的东西。
有上传的程序,是不是这里的问题?
jackyhzzjcn 2003-09-17
  • 打赏
  • 举报
回复
发生问题的过程中有人 在传大文件吗?
jackyhzzjcn 2003-09-17
  • 打赏
  • 举报
回复
检查是否有打开的数据库连接没有及时关闭
zcmmhu 2003-09-17
  • 打赏
  • 举报
回复
自己先顶一下了,麻烦了!分不够可以再加!
1.Loadrunner报错日志: Action.c(13):错误-27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively 解决方案: 修改“运行时设置-HTTP请求连接超时、HTTP请求接收超时”的值为600s或者更长时间 Run-Time Setting(运行时设置) -- Internet Protocol -- Preferences -- Option -- Step download timeout(sec)改为15000(根据需要可能更大) 2.Loadrunner报错日志: Action.c(39):错误-27796:连接服务器“test0105.s1.diy.com:80”失败: [10061] Connection refused 有可能是服务器有太多的数据库连接,提示连接被拒绝 解决方案: 可以让开发尝试调整: 1).数据库最大连接数; 2). tomcat的最大并发数限制 3.Loadrunner报错日志: Action.c(9):错误-27791:服务器“test0105*.s1.diy.com”已过早关闭连接 访时已经下载不到资源了,有可能是已经达到服务器资源的瓶颈了,可以查看服务器资源如CPU、负载等 4.Loadrunner报错日志: Action.c(7): Error -27791: Server "10.10.0.88" has shut down the connection prematurely 借鉴51Testing网友提供的解决方案: 1)、应用服务器。小用户时程序上的程序上处理数据库的 2)、应用服务没有。应用服务参数设置。例如:在许多客户端weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%。 3)、数据库的连接 在应用服务的性能参数可能太小了 数据库启动的最大连接数(跟硬件的内存有关) 4)、有时关闭防火墙如卡巴斯基也会解决如上 5,Loadrunner报错日志: Action.c(43) Error -26612 HTTP Status-Code=500 (Internal Server Error) for "http//192.168.1.2227001/ulms/login.do" 500 Internal Server Error IIS的HTTP 500内部服务器错误是经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览.但HTM静态网页不受影响。另外当错误发生时,系统事件日志和安全事件日志都会有相应的记录。 IE中的表现,当浏览以前能够正常运行的asp页面时会出现如下的错误:网页无法显示 LoadRunner出现error及解决方法总结 一、Step download timeout (120 seconds) 这是一个经常会遇到的,解决得办法走以下步骤: 1、修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000。run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数。 2、办法一不能解决的情况下,解决办法如下: 设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。 二、描述Connection reset by peer. 这个不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。 解决办法:Run-time setting窗口中的‘Internet Protocol’-‘Preferences’设置set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec),可以稍微设大一些”。 三、描述connection refused 这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同。 1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值。 2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改注册表,具体修改注册表中有TcpTimedWaitDelay和MaxUserPort项,键值在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\]。因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。 1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。 2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。 四、描述open many files 一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法: 1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改。 2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大。修改前记住备份此文件,防止修改出错。 3、linux上可以通过ulimit –HSn 4096来修改文件打开数限制,也可以通过ulimit -a 来查看。 4、linux上可以通过lsof -p pid | wc -l 来查看进程打开的句柄数。 五、描述has shut down the connection prematurely 一般是在访应用服务器时出现,大用户量和小用户量均会出现。 来自网上的解释: 1>应用访 小用户时:程序上的程序上存在数据库的 2>应用服务没有 应用服务参数设置 例如: 在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25% Java连接池的大小设置,或JVM的设置等 3>数据库的连接 在应用服务的性能参数可能太小了 数据库启动的最大连接数(跟硬件的内存有关) 以上信息有一定的参考价值,实际情况可以参考此类调试。 如果是以上所说的小用户时:程序上的程序上存在数据库的,那就必须采用更加专业的工具来抓取出现程序,主要是程序中执行效率很低的sql语句,weblogic可以采用introscope定位,期间可以注意观察一下jvm的垃圾回收情况看是否正常,我在实践中并发500用户和600用户时曾出现过jvm锯齿型的变化,上升下降都很快,这应该是不太正常的。 --------------------------------------- 实际测试中,可以用telent 站点看看是否可以连接进去,可以通过修改连接池中的连接数和适当增加应用内存值,可以解决。 六、描述Failed to connect to server 这个一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法: 1、修改负载机器注册表中的TcpTimedWaitDelay减小延时和MaxUserPort增加端口数。注:这将增加机器的负荷。 2、检查网络延迟情况,看出在什么环节。 建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上出现的概率就很小了。 七、描述Overlapped transmission of request to ... WSA_IO_PENDING 这个,解决方法: 1、方法一,在脚本前加入web_set_sockets_option("OVERLAPPED_SEND", "0"),禁用TTFB细分,即可解决,但是TTFB细分图将不能再使用,附图。 2、方法二,可以通过增加连接池和应用系统的内存,每次增加25%。 八、描述Deleted the current transaction ... since response time is not accurate 这个不多遇见,一般出现在压力机器上发生ping值为负数(AMD双核CPU),可以重新启动pc机或者打补丁,附图。 九、描述HTTP Status-Code=500 (Internal Server Error) for 1、应用服务当,重新启动应用服务。 2、当应用系统处于的可用内存处于阀值以下时,出现HTTP Status-Code=500的概率非常高,此时只要增加应用系统的内存,即可解决。 十、描述Failed to transmit data to network: [10057]Socket is not connected 这个错误是由网络原因造成的,PC1和PC2上面都装了相同的loadrunner 9.0,且以相同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同),PC1上面有少部分用户报错,PC2上的用户全部执行通过。 十一、描述 Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1 解决方法:web_reg_save_param位置放错了,应该放到请求页面前面。 十二、描述 通过Controler调用远程代理时报错,Error: CCI security error:You are running under secure mode and the function system is not allowed in this mode. 解决方法:在代理开启的时候,去勾选防火墙选项。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧