使用TThreadPoolServer遇到的问题
2013-05-06 14:57
323 查看
最近,使用TThreadPoolServer遇到一个问题,就是线程池线程的数量少于发送端的数量引起的问题。
外部表现有2个:
1)某些客户端无论如何都连接不上服务端。
2)服务端打开socket越来越多,直至65536,最终无法接收数据,甚至程序崩溃。
这算不算TThreadPoolServer bug?还是我用的不对?它应该拒绝多出来的请求,并关闭socket。
错误信息:
Thrift: Mon May 6 17:15:21 2013 TThreadPoolServer: TServerTransport died on accept: accept(): Too many open files
Thrift: Mon May 6 17:15:21 2013 TServerSocket::acceptImpl() ::accept() Too many open files
可用ll /proc/pid/fd查看该进程打开的句柄
解决方法:1)将线程池数量提高至足够大,不可避免还存在同样问题,不推荐;2)使用TThreadedServer,有多少请求,建立多少(长)连接。
外部表现有2个:
1)某些客户端无论如何都连接不上服务端。
2)服务端打开socket越来越多,直至65536,最终无法接收数据,甚至程序崩溃。
这算不算TThreadPoolServer bug?还是我用的不对?它应该拒绝多出来的请求,并关闭socket。
错误信息:
Thrift: Mon May 6 17:15:21 2013 TThreadPoolServer: TServerTransport died on accept: accept(): Too many open files
Thrift: Mon May 6 17:15:21 2013 TServerSocket::acceptImpl() ::accept() Too many open files
可用ll /proc/pid/fd查看该进程打开的句柄
解决方法:1)将线程池数量提高至足够大,不可避免还存在同样问题,不推荐;2)使用TThreadedServer,有多少请求,建立多少(长)连接。
相关文章推荐
- 如果使用StateServer或SQLServer,会遇到的问题。。。。
- Windows下安装Apache HTTP Server 无法启动遇到OS10048 通常每个套接字地址(协议/网络地址/端口)只允许使用一次 的问题解决方法
- 单入口框架使用$_SERVER['PHP_SELF']遇到的问题
- 首次使用Microsoft Sql server软件遇到的问题
- 在IIS 发布Web App时使用ArcGIS Server Local services可能遇到的问题
- 使用arcgis server manager 遇到的问题(一)
- 在Delphi中使用MS SQL Server ,MS Access遇到的问题
- 使用无限大小线程池 newCachedThreadPool 可能遇到的问题
- 在win2003server上使用移动硬盘时遇到的问题以及禁用“关闭事件跟踪程序”
- 使用无限大小线程池 newCachedThreadPool 可能遇到的问题
- thift使用TThreadPoolServer模式
- SQL Server WAITFOR Delay 使用变量遇到的问题和解决办法
- SSRS使用MySql作为数据源遇到的问题。
- 使用CVS遇到的问题
- 使用FTPClient文件上传下载遇到的问题
- 使用Android Studio可能会遇到的问题
- 使用BDC连接MySql可能遇到的问题
- Tesseract-OCR在web使用时遇到的问题
- bae使用nodejs遇到的问题---‘Fix depends failed. Please check requirements.txt.’
- 重新使用Eclipse建立安卓工程遇到的问题