免费注册 查看新帖 |

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-19 17:26 |显示全部楼层
这种情况如果程序没有其他地方删除它, 唯一的可能性就是listen soceket自己关了, 然后epoll自动把监听移除了。

论坛徽章:
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-19 22:24 |显示全部楼层
不是服务的问题, 是测试客户端的问题, 没检查connect返回值引起的, 实际上服务端现在短连接accept能力只有25000不到的qps, 感觉需要优化参数之类的, sys已经35了.

论坛徽章:
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-19 22:52 |显示全部楼层
哇哈哈, 通过调整参数, 分了10组epoll, 每组5个线程, qps达到了48-50万。

论坛徽章:
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-20 09:52 |显示全部楼层
本帖最后由 yulihua49 于 2013-02-20 10:03 编辑
linux_c_py_php 发表于 2013-02-19 22:52
哇哈哈, 通过调整参数, 分了10组epoll, 每组5个线程, qps达到了48-50万。

短连接的?长连接多少?
与hsha比较,怎么样?
这可以算是个经验。实际上不一定需要这么复杂。一个是网络带宽的限制,一个是真正的交易还有不小的开销和其他的瓶颈,如数据库什么的。

IBM说它的TPF达到1百万TPS(每秒交易),ORACLE有一个测试达到3700万TPM,不知道是什么交易,什么网络环境。
就像12306那样的交易,也只需要2W TPS,查询量当然要大很多。

论坛徽章:
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-20 11:09 |显示全部楼层
yulihua49 发表于 2013-02-20 09:52
短连接的?长连接多少?
与hsha比较,怎么样?
这可以算是个经验。实际上不一定需要这么复杂。一个是网 ...


必须是长连接的, 短连接空跑accept才3万qps.

hsha今天对比一下, 还有工作要改BUG...

论坛徽章:
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-20 11:32 |显示全部楼层
yulihua49 发表于 2013-02-20 09:52
短连接的?长连接多少?
与hsha比较,怎么样?
这可以算是个经验。实际上不一定需要这么复杂。一个是网 ...


问了公司内核的人, 改了点参数, 现在短连接可以跑6-7万了.

论坛徽章:
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-20 11:41 |显示全部楼层
短连接优化方法, 优化后accept性能可以达到8万, 服务的qps可以达到6-7万:

/proc/sys/net/core/somaxconn 改为4096

/proc/sys/net/ipv4/下面的
tcp_max_syn_backlog = 8192
tcp_syn_retries= 5
tcp_synack_retries = 5
tcp_abort_on_overflow=0
tcp_tw_reuse=1
tcp_tw_recycle=1
tcp_timestamps=1
tcp_syncookies=1

论坛徽章:
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-20 12:49 |显示全部楼层
hsha性能不太行, 测了一下只有7万多的长连接, 瓶颈在单线程epoll上直接跑99了, worker线程基本没有CPU占用.

hsha改多线程epoll可以解决瓶颈, 但比lf来说内存拷贝多, 还有队列的锁, 和lf有较大差距.

论坛徽章:
0
发表于 2013-02-20 12:53 |显示全部楼层
强帖留名~~~~~~~~~~~~~~~

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2013-02-20 20:40 |显示全部楼层
回复 76# linux_c_py_php


    我说的也不是单线程,你可能理解错了,应该是 per thread per epoll_wait
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP