由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 分享一个今天遇到的.net调用mongodb的问题
相关主题
弱问c# using, try有啥用BUG! Re: xmldocument and webservice
C#中调用JavaScript的问题新问题
用ASP .Net 和Python for .Net做了一个小范例How to change web method's name?
大侠帮忙:哪里有用Webservice技术的网站A permission problem?
Anyone has used MapPoint.net?secure webservice
Add Web Reference Questions谁熟dotnet 的webservice?
xmldocument and webservice questionMake some small money with your asp.net website
Lousy WSDL?网页制作的最高境界
相关话题的讨论汇总
话题: 调用话题: mongodb话题: connection话题: pool话题: disconnect
进入DotNet版参与讨论
1 (共1页)
W********n
发帖数: 254
1
在一个小webService里第一次使用mongodb,很习惯的把dal做成idisposable,这样可
以自动调用connect/disconnect。因为是内部service,所以访问量不大,一直没有出
现什么问题。昨天下午开始一个app开始疯狂发请求,500 req/sec,到今天早上8点
application pool就当掉了。
显示的错误是An operation on a socket could not be performed because the
system lacked sufficient buffer space or because a queue was full. 搜了一圈
发现是mongodb server的tcp connection被全部用光,网上大部分建议是调节
TcpTimedWaitDelay和userMaxPort,可这样就算分配再多的port也有用完的时候。
最后发现是10gen的.net driver比较奇特,显示调用connect/disconnect会让driver自
己的connection pool完全停止工作,删掉这两行代码问题就解决了。
W********n
发帖数: 254
2
说实话还是比较感谢那位仁兄帮我做了load test..Hehe

【在 W********n 的大作中提到】
: 在一个小webService里第一次使用mongodb,很习惯的把dal做成idisposable,这样可
: 以自动调用connect/disconnect。因为是内部service,所以访问量不大,一直没有出
: 现什么问题。昨天下午开始一个app开始疯狂发请求,500 req/sec,到今天早上8点
: application pool就当掉了。
: 显示的错误是An operation on a socket could not be performed because the
: system lacked sufficient buffer space or because a queue was full. 搜了一圈
: 发现是mongodb server的tcp connection被全部用光,网上大部分建议是调节
: TcpTimedWaitDelay和userMaxPort,可这样就算分配再多的port也有用完的时候。
: 最后发现是10gen的.net driver比较奇特,显示调用connect/disconnect会让driver自
: 己的connection pool完全停止工作,删掉这两行代码问题就解决了。

s*****w
发帖数: 215
3
Is it possible that you "显示调用connect/disconnect" method?
to call Dispose() or Close() method will close all the connection pool.
Does using block work?
Use using block for the connection, will dispose the single connection and
return to the pool.

【在 W********n 的大作中提到】
: 在一个小webService里第一次使用mongodb,很习惯的把dal做成idisposable,这样可
: 以自动调用connect/disconnect。因为是内部service,所以访问量不大,一直没有出
: 现什么问题。昨天下午开始一个app开始疯狂发请求,500 req/sec,到今天早上8点
: application pool就当掉了。
: 显示的错误是An operation on a socket could not be performed because the
: system lacked sufficient buffer space or because a queue was full. 搜了一圈
: 发现是mongodb server的tcp connection被全部用光,网上大部分建议是调节
: TcpTimedWaitDelay和userMaxPort,可这样就算分配再多的port也有用完的时候。
: 最后发现是10gen的.net driver比较奇特,显示调用connect/disconnect会让driver自
: 己的connection pool完全停止工作,删掉这两行代码问题就解决了。

W********n
发帖数: 254
4
10gen的MongoClient和MongoServer都不是IDisposable.我之前说用using只是用在我自
己的DAL wrapper。我说显示调用调用也无非就是
mgSvr.Connect();
mgSvr.Disconnect();
既然mongodb文档说不建议调用这两个方法,那就全都留给driver处理好了。
1 (共1页)
进入DotNet版参与讨论
相关主题
网页制作的最高境界Anyone has used MapPoint.net?
how to get reference.vb file?Add Web Reference Questions
我们公司在招人Jr & Sr Developer (在宾州KOP附近)xmldocument and webservice question
请问实现关注计数功能 Lousy WSDL?
弱问c# using, try有啥用BUG! Re: xmldocument and webservice
C#中调用JavaScript的问题新问题
用ASP .Net 和Python for .Net做了一个小范例How to change web method's name?
大侠帮忙:哪里有用Webservice技术的网站A permission problem?
相关话题的讨论汇总
话题: 调用话题: mongodb话题: connection话题: pool话题: disconnect