免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yulihua49
打印 上一主题 下一主题

[C] 多线程服务器,发现个问题,请高人解惑 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2010-07-08 14:32 |只看该作者
回复 40# yulihua49


    C10K Problem 是 服务器连接数到达10K(一万个)的问题 的缩写。不是中间件。

论坛徽章:
0
42 [报告]
发表于 2010-07-08 16:33 |只看该作者
Conn里的内容在创建线程的时候会被共用.比如你要创建两个线程,线程1里的Conn内容会被主线程改变.简单点说主 ...
samlumengjun 发表于 2010-07-05 13:45


不光是共享Conn,每次while循环一次,Conn就会被重新构造一次。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
43 [报告]
发表于 2010-07-08 16:36 |只看该作者
本帖最后由 yulihua49 于 2010-07-08 16:43 编辑
不光是共享Conn,每次while循环一次,Conn就会被重新构造一次。
drowndog 发表于 2010-07-08 16:33



    不行啊,SDBC啊,安全连接,每次连接都协商密钥的,这是一个很吃力的过程。密钥双方各一份,不能错的。所以每个客户端独享connect结构。认证参数和上下文也在此。

什么都不共享就成了http了,性能很差安全性也不好。

10K个连接只好10K个connect结构,好在现在配置都大了,TB级内存的时代很快到来。
以前认为1000个线程要死人,现在很轻松(64位服务器)。10K级也没问题,只是现在没有那么多的fd,能帮我解决提高非特权用户的fd数吗?

论坛徽章:
0
44 [报告]
发表于 2010-07-08 16:40 |只看该作者
1000个并发加密连接,你还是把intel i7处理器的AES指令用起来的好,或者用SSL加速卡,否则CPU不见得撑得住。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
45 [报告]
发表于 2010-07-08 16:46 |只看该作者
本帖最后由 yulihua49 于 2010-07-08 16:49 编辑
1000个并发加密连接,你还是把intel i7处理器的AES指令用起来的好,或者用SSL加速卡,否则CPU不见得撑得住。 ...
没本 发表于 2010-07-08 16:40



    我用另外的快速加密,比3DES快近20倍,速度不是问题。如前所述,1000C,CPU还空闲10-20%。
请帮我加大文件数,通过系统参数设置也行。下一步做线程池。
8G内存空闲近4G。
使用线程池后,每个连接的状态表,包括connect接近8K,10K个连接约80M,没问题的。

论坛徽章:
0
46 [报告]
发表于 2010-07-08 16:48 |只看该作者
回复 45# yulihua49


    给你发的那个C10K链接就有加大各个操作系统文件打开数的设置方法,先去看了来。还有最好用64位的系统。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
47 [报告]
发表于 2010-07-08 16:58 |只看该作者
看到好几个猥琐的 sleep

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
48 [报告]
发表于 2010-07-08 17:07 |只看该作者
回复  yulihua49


    给你发的那个C10K链接就有加大各个操作系统文件打开数的设置方法,先去看了来。 ...
没本 发表于 2010-07-08 16:48



   是64位系统。

/etc/security/limits.conf:
sdbc    soft    nofile  1024
sdbc    hard    nofile  16384
需要重新启动生效吗?

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
49 [报告]
发表于 2010-07-08 17:08 |只看该作者
看到好几个猥琐的 sleep
cookis 发表于 2010-07-08 16:58


更猥琐的 usleep

论坛徽章:
0
50 [报告]
发表于 2010-07-08 17:33 |只看该作者
创建一个工作队列或者链表,接收主线程只负责把新连接的状态信息和任务信息放进去,设置1个扫描链表的线程和若干工作线程.扫描线程负责监控和分发任务给工作线程并同时删除链表中的任务.这样的话不至于接收不过来.工作线程数大致等于cpu核数.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP