免费注册 查看新帖 |

Chinaunix

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

[其他] [基于Epoll内置Leader-Follower服务端实现, 已可达50万echo qps(全新支持Lua啦)] [复制链接]

论坛徽章:
0
161 [报告]
发表于 2013-02-25 16:33 |只看该作者
linux_c_py_php 发表于 2013-02-25 16:21
select只能管FD_SETSIZE之内的fd, 进程受限啊哥.


这个我知道,我不是早就说过了么,解决办法是用多个进程,一个进程一个select啊

论坛徽章:
0
162 [报告]
发表于 2013-02-25 16:36 |只看该作者
yulihua49 发表于 2013-02-25 16:30
你处理得了超过1024的连接吗?
你没看到sched线程已经成为瓶颈吗?

只要一个select能轻松处理1024连接就行啊,启动多个select进程啊

论坛徽章:
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
163 [报告]
发表于 2013-02-25 16:36 |只看该作者
本帖最后由 yulihua49 于 2013-02-25 16:39 编辑
linux_c_py_php 发表于 2013-02-25 15:19
你可以把worker里对事件集合的取消操作以及main线程对事件集合的添加操作都做成Pipe+queue, fdset的操作全部让sched线程来做, 可以避免掉同步fdset的代价, 应该能稍微好点. ...

你试试吧,暂时我不知道怎么弄。

论坛徽章:
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
164 [报告]
发表于 2013-02-25 16:38 |只看该作者
本帖最后由 yulihua49 于 2013-02-25 16:40 编辑
iw1210 发表于 2013-02-25 16:33
这个我知道,我不是早就说过了么,解决办法是用多个进程,一个进程一个select啊

15W,还可以啊。
多个进程可以啊,但前端得弄个负载均衡什么的。

论坛徽章:
0
165 [报告]
发表于 2013-02-25 16:39 |只看该作者
yulihua49 发表于 2013-02-25 16:38
多个进程可以啊,但前端得弄个负载均衡什么的。

嗯。你用一个select处理1024个连接成功了么?效率怎么样?没问题吧?

论坛徽章:
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
166 [报告]
发表于 2013-02-25 16:41 |只看该作者
本帖最后由 yulihua49 于 2013-02-25 16:56 编辑
iw1210 发表于 2013-02-25 16:39
嗯。你用一个select处理1024个连接成功了么?效率怎么样?没问题吧?

等会,试一下100连接的。
100连接,本地的:
  1. Cpu0  :  9.0%us, 68.0%sy,  0.0%ni,  3.6%id,  0.0%wa,  0.0%hi, 19.4%si,  0.0%st
  2. Cpu1  :  9.6%us, 68.1%sy,  0.0%ni,  3.4%id,  0.0%wa,  0.0%hi, 18.9%si,  0.0%st
  3. Mem:   8059424k total,  2860232k used,  5199192k free,   309904k buffers
  4. Swap:  8191992k total,        0k used,  8191992k free,  2086944k cached

  5.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                          
  6. 1990 sdbc      20   0  104m 8056  532 R 21.5  0.1   2:22.78 server                                            
  7. 1982 sdbc      20   0  104m 8056  532 S 10.1  0.1   0:44.26 server                                            
  8. 1983 sdbc      20   0  104m 8056  532 S 10.1  0.1   0:44.34 server                                            
  9. 1986 sdbc      20   0  104m 8056  532 S 10.1  0.1   0:44.11 server                                            
  10. 1985 sdbc      20   0  104m 8056  532 S  9.9  0.1   0:44.27 server                                            
  11. 1988 sdbc      20   0  104m 8056  532 S  9.9  0.1   0:44.33 server                                            
  12. 1984 sdbc      20   0  104m 8056  532 R  9.7  0.1   0:44.32 server                                            
  13. 1989 sdbc      20   0  104m 8056  532 R  9.7  0.1   0:44.21 server                                            
  14. 1987 sdbc      20   0  104m 8056  532 S  9.5  0.1   0:44.24 server                                            
  15. 3685 sdbc      20   0  3912  364  296 S  1.4  0.0   0:00.46 client                                            
  16. 3699 sdbc      20   0  3912  364  296 S  1.2  0.0   0:00.45 client                                            
  17. 3703 sdbc      20   0  3912  364  296 S  1.2  0.0   0:00.45 client                                            
  18. 3723 sdbc      20   0  3912  364  296 S  1.2  0.0   0:00.43 client                                            
  19. 3684 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.46 client                                            
  20. 3686 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.48 client                                            
  21. 3687 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.47 client                                            
  22. 3688 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.42 client                                            
  23. 3690 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.45 client                                            
  24. 3691 sdbc      20   0  3912  364  296 S  1.0  0.0   0:00.47 client   
复制代码
  1. 平均时间:       IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
  2. 平均时间:          lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  3. 平均时间:        eth0 135002.13 134965.44   8702.21   8699.01      0.00      0.00      0.00
  4. 平均时间:      virbr0      0.00      0.03      0.00      0.00      0.00      0.00      0.00
  5. 平均时间:   virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
复制代码
100l连接:13.5 W qps

论坛徽章:
0
167 [报告]
发表于 2013-02-25 16:42 |只看该作者
yulihua49 发表于 2013-02-25 16:41
等会,试一下100连接的。

直接试1000连接啊

论坛徽章:
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
168 [报告]
发表于 2013-02-25 17:01 |只看该作者
本帖最后由 yulihua49 于 2013-02-25 17:16 编辑
iw1210 发表于 2013-02-25 16:42
直接试1000连接啊

1000的:
  1. Cpu0  :  7.4%us, 53.6%sy,  0.0%ni,  3.7%id,  0.0%wa,  0.0%hi, 35.4%si,  0.0%st
  2. Cpu1  :  7.7%us, 57.0%sy,  0.0%ni,  3.7%id,  0.0%wa,  0.0%hi, 31.6%si,  0.0%st
  3. Mem:   8059424k total,  2764252k used,  5295172k free,   309944k buffers
  4. Swap:  8191992k total,        0k used,  8191992k free,  2002484k cached

  5.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                          
  6. 3871 sdbc      20   0  104m 7840  488 R 24.3  0.1   0:07.56 server                                            
  7. 3865 sdbc      20   0  104m 7840  488 R 20.9  0.1   0:06.24 server                                            
  8. 3867 sdbc      20   0  104m 7840  488 S 20.9  0.1   0:06.22 server                                            
  9. 3866 sdbc      20   0  104m 7840  488 R 20.7  0.1   0:06.27 server                                            
  10. 3868 sdbc      20   0  104m 7840  488 S 20.7  0.1   0:06.22 server                                            
  11. 3869 sdbc      20   0  104m 7840  488 S 20.7  0.1   0:06.20 server                                            
  12. 3870 sdbc      20   0  104m 7840  488 S 20.7  0.1   0:06.17 server                                            
  13. 3864 sdbc      20   0  104m 7840  488 S 20.5  0.1   0:06.22 server                                            
  14. 3863 sdbc      20   0  104m 7840  488 S 20.3  0.1   0:06.16 server      


  15. 平均时间:       IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
  16. 平均时间:          lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  17. 平均时间:        eth0 137704.92 137643.27   8876.30   8871.69      0.00      0.00      0.00
  18. 平均时间:      virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  19. 平均时间:   virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00

  20. 没epoll高,epoll 15 W呢。
  21. 得检查一下客户端,是否真干活了。
  22.      
复制代码
sched:657 Event's active!
sched:530 Event's active!
sched:802 Event's active!
sched:612 Event's active!
sched:728 Event's active!
sched:708 Event's active!
sched:329 Event's active!
sched:498 Event's active!
sched:518 Event's active!
sched:359 Event's active!
sched:240 Event's active!
sched:423 Event's active!
sched:671 Event's active!
sched:537 Event's active!
sched:752 Event's active!
sched:598 Event's active!
sched:508 Event's active!
每次能做这么多事件呢!!

完成了,1000连接没任何问题。
行了,iw,这个程序你拿去改吧改吧用吧。

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
169 [报告]
发表于 2013-02-25 17:15 |只看该作者
锁有点太猛了, 想办法把FDSET上的锁弄掉看看

论坛徽章:
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
170 [报告]
发表于 2013-02-25 17:17 |只看该作者
本帖最后由 yulihua49 于 2013-02-25 17:21 编辑
linux_c_py_php 发表于 2013-02-25 17:15
锁有点太猛了, 想办法把FDSET上的锁弄掉看看

你试试看,
程序马上会发疯的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP