Chinaunix

标题: 请教关于服务器设计的问题 [打印本页]

作者: yuhang001    时间: 2009-03-11 14:27
标题: 请教关于服务器设计的问题
有个服务器要支持十万个终端的连接,经常会出现服务器无法连接的问题,
问题出在服务器连接数过多,终端连接不上,改用了线程池,select等优
化了一下,能稳定支持六万个终端的并发量,离十万个的目标还有一点距离,
请问各位是否还有什么更好的设计方法能解决连接过多的问题?一般高性能
的服务器设计要注意什么问题?
作者: yangsf5    时间: 2009-03-11 14:30
试试epoll
作者: yuhang001    时间: 2009-03-11 14:35
标题: 回复 #2 yangsf5 的帖子
用的是2.4内核,还不支持epoll吧
作者: yangsf5    时间: 2009-03-11 14:41
标题: 回复 #3 yuhang001 的帖子
2.5几才支持的。。不知道有没有补丁。

你升级下撒。
作者: alexhappy    时间: 2009-03-11 14:42
多进程+多线程+select
作者: yuhang001    时间: 2009-03-11 14:45
升级风险较大,而且即使用epoll也不能根本解决问题,我想能不能在设计上优化达到提高性能。
作者: converse    时间: 2009-03-11 14:48
>> 问题出在服务器连接数过多,终端连接不上
加机器,fd不够用了...
作者: beepbug    时间: 2009-03-11 16:39
这服务器做的是什么服务?
作者: xuxingyu    时间: 2009-03-11 17:01
什么系统,ulimit -a 看一下
作者: nhuczp    时间: 2009-03-11 17:17
原帖由 yangsf5 于 2009-3-11 14:30 发表
试试epoll



epoll应该可以解决通信连接数所限制!!
作者: nhuczp    时间: 2009-03-11 17:22
原帖由 yuhang001 于 2009-3-11 14:45 发表
升级风险较大,而且即使用epoll也不能根本解决问题,我想能不能在设计上优化达到提高性能。


1、可以修改这个文件值
/etc/security/limits.conf
2、配置文件来增大IP网络的吞吐能力
作者: benjiam    时间: 2009-03-11 17:22
我感觉这个问题的核心是什么 lz 清楚吗?

建立10w 个连接?  cool  , 假设这10w 个连接什么都不做, 能实现吗?

fd 够的话 应该没问题。

其实说无法支持10w  是否是在于io 的时间太长, 系统给人死掉的感觉,在断掉一部分连接后
io 响应可以接受,

否则的话,只要系统支持 组塞也可以支持这么多吧

不过10w 个连接,  真是恐怖, 是什么服务器 什么配置啊
作者: aobai    时间: 2009-03-11 17:34
关注
作者: converse    时间: 2009-03-11 17:36
那些回复使用epoll的朋友可能没有明白LZ的问题在哪里,LZ的问题是不能建立更多的连接而不是处理连接的速度慢....
作者: xinglp    时间: 2009-03-11 17:36
我这里E5200,8G内存,Intel 82567LF网卡做到了10万长连接,当然逻辑部分很简单,就是简单的查询应答,频度2秒一次,数据量很小
作者: alexhappy    时间: 2009-03-11 17:54
原帖由 converse 于 2009-3-11 17:36 发表
那些回复使用epoll的朋友可能没有明白LZ的问题在哪里,LZ的问题是不能建立更多的连接而不是处理连接的速度慢....

那就加机子
作者: yuhang001    时间: 2009-03-11 17:55
标题: 回复 #15 xinglp 的帖子
具体配置不清楚,16G内存,8个双核CPU。现在用的是TCP短连接。
作者: alexhappy    时间: 2009-03-11 17:58
原帖由 yuhang001 于 2009-3-11 17:55 发表
具体配置不清楚,16G内存,8个双核CPU。现在用的是TCP短连接。

我靠!!!10W没问题啊。。。
作者: lanying_wzw    时间: 2009-03-11 18:05
连不上是什么概念?服务器端报什么错?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2