免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: linux_c_py_php

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

论坛徽章:
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
发表于 2013-02-18 11:14 |显示全部楼层
我把accept那里改成循环的吧, 可能是accept不够敏捷.

论坛徽章:
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
发表于 2013-02-18 11:19 |显示全部楼层
短连接还是上不去, 改成循环accept了, qps成25000了, 比13000强点, 原因就是减少了epoll_wait返回次数, 其他的read/write循环也可以同理优化, 应该可以把长连接的qps提到20万.

论坛徽章:
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
发表于 2013-02-18 11:30 |显示全部楼层
linux_c_py_php 发表于 2013-02-18 11:13
嗯, 长连接的qps上去了, 各线程D的也比较频繁:

  45897 1361157105

可能是LT惹的祸,换ET试试。

论坛徽章:
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
发表于 2013-02-18 11:31 |显示全部楼层
yulihua49 发表于 2013-02-18 11:08
TCP的连接是开销非常大的,不仅3次握手,而且涉及大量流资源的分配与回收,因此不建议在应用中使用短连接 ...



我看公司里的网络框架的测试报告, 短链接35000就不行了, 没看错的话线程数是100个... 我也压榨一下试试.

linger我没开, 我直接配置了文件设置了快速回收了, 应该是一样的效果, 我测试工具和服务端都在一台机器上, 我挪出去再测测.

论坛徽章:
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
发表于 2013-02-18 11:32 |显示全部楼层
yulihua49 发表于 2013-02-18 11:30
可能是LT惹的祸,换ET试试。


值得一试, 我弄下.

论坛徽章:
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
发表于 2013-02-18 12:40 |显示全部楼层
12:39:42 PM  CPU   %user   %nice %system %iowait    %irq   %soft   %idle    intr/s
12:39:43 PM  all    4.33    0.00   17.89    0.00    0.00    9.48   68.30   3022.22
12:39:43 PM    0    1.01    0.00   12.12    0.00    0.00   10.10   76.77   1033.33
12:39:43 PM    1    3.03    0.00   26.26    0.00    0.00   10.10   61.62      0.00
12:39:43 PM    2    4.04    0.00   28.28    0.00    0.00    8.08   61.62      0.00
12:39:43 PM    3    1.01    0.00   21.21    0.00    0.00   10.10   68.69      0.00
12:39:43 PM    4    2.02    0.00   19.19    0.00    0.00   11.11   68.69   1986.87
12:39:43 PM    5    2.02    0.00   23.23    0.00    0.00    9.09   66.67      0.00
12:39:43 PM    6   23.23    0.00    9.09    0.00    0.00    9.09   60.61      0.00
12:39:43 PM    7    9.09    0.00   15.15    0.00    0.00    4.04   72.73      0.00
12:39:43 PM    8    1.01    0.00    8.08    0.00    0.00   14.14   77.78      0.00
12:39:43 PM    9    2.02    0.00   18.18    0.00    0.00    7.07   73.74      0.00
12:39:43 PM   10    2.02    0.00   17.17    0.00    0.00   13.13   68.69      0.00
12:39:43 PM   11    2.02    0.00   20.20    0.00    0.00   10.10   69.70      0.00

中断全打到一个核上去了, 这丫的得调参数让软中断均匀分布啊.

论坛徽章:
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
发表于 2013-02-18 12:49 |显示全部楼层
这时候TOP都成这个JB样了, 网卡问题?

7056 work      15   0  716m 256m  360 D   11  0.4   0:04.84 server                                                                  
7051 work      15   0  716m 256m  360 D   10  0.4   0:04.82 server                                                                  
7064 work      15   0  716m 256m  360 R   10  0.4   0:04.76 server                                                                  
7065 work      15   0  716m 256m  360 D   10  0.4   0:04.91 server                                                                  
7053 work      15   0  716m 256m  360 D   10  0.4   0:05.04 server                                                                  
7055 work      15   0  716m 256m  360 D   10  0.4   0:04.69 server                                                                  
7066 work      15   0  716m 256m  360 D   10  0.4   0:04.78 server                                                                  
7069 work      15   0  716m 256m  360 D   10  0.4   0:04.85 server                                                                  
7050 work      15   0  716m 256m  360 D   10  0.4   0:04.80 server                                                                  
7052 work      15   0  716m 256m  360 D   10  0.4   0:04.73 server                                                                  
7054 work      15   0  716m 256m  360 D   10  0.4   0:04.90 server                                                                  
7058 work      15   0  716m 256m  360 D   10  0.4   0:04.76 server                                                                  
7062 work      15   0  716m 256m  360 D   10  0.4   0:04.87 server                                                                  
7063 work      15   0  716m 256m  360 D   10  0.4   0:04.72 server                                                                  
7068 work      15   0  716m 256m  360 D   10  0.4   0:04.82 server                                                                  
7057 work      15   0  716m 256m  360 D    9  0.4   0:04.91 server                                                                  
7059 work      15   0  716m 256m  360 D    9  0.4   0:04.88 server                                                                  
7060 work      15   0  716m 256m  360 D    9  0.4   0:04.84 server                                                                  
7067 work      15   0  716m 256m  360 D    9  0.4   0:04.82 server                                                                  
7061 work      15   0  716m 256m  360 D    9  0.4   0:04.91 server  

论坛徽章:
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
发表于 2013-02-18 12:58 |显示全部楼层
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10       CPU11      
  0: 3845813955          0          0          0          0          0          0          0          0          0          0          0    IO-APIC-edge  timer
  8:      98729          0          0          0          0          0          0          0          0          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0          0          0          0          0          0          0          0          0   IO-APIC-level  acpi
50:          0          0          0          0          0          0          0          0          0          0          0          0   IO-APIC-level  ehci_hcd, uhci_hcd
90:          0          0          0          0 3467142310          0          0          0          0          0          0          0         PCI-MSI  eth1
169:   65355765          0          0          0          0          0          0          0          0          0          0          0   IO-APIC-level  megasas
225:         28          0          0          0          0          0          0          0          0          0          0          0   IO-APIC-level  ehci_hcd, uhci_hcd, uhci_hcd
233:          0          0          0          0          0          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd, uhci_hcd
NMI: 3845812858 3845812805 3845812804 3845812803 3845812802 3845812801 3845812800 3845812798 3845812797 3845812796 3845812795 3845812794
LOC: 3844119263 3844119265 3844119264 3844119265 3844119268 3844119268 3844119268 3844119264 3844119268 3844119265 3844119267 3844119267
ERR:          0
MIS:          0

论坛徽章:
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
发表于 2013-02-18 13:35 |显示全部楼层
本帖最后由 yulihua49 于 2013-02-18 13:41 编辑
linux_c_py_php 发表于 2013-02-18 12:58
CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       C ...

改ET怎么样?
单线程epoll_wait有这问题吗?

论坛徽章:
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
发表于 2013-02-18 13:42 |显示全部楼层
yulihua49 发表于 2013-02-18 13:35
改ET怎么样?


性能下降了... 太不和谐了, 我没用工具分析ET的情况, 不过我刚才分析了一下LT长连接的情况,  QPS有15万, 发现cpu idle很高, 但eth1网卡中断全打到了CPU 4上, 各线程基本都进入了长时间的D状态.

公司内网查了一下, 网上也百度了一下, 网上说需要配置一下CPU亲缘性, 让多个CPU均摊一个网卡的中断, 否则单核心处理所有中断就成瓶颈了, 而且机器上也没开irqbalance, 没root, 蛋疼了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP