免费注册 查看新帖 |

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
71 [报告]
发表于 2013-02-21 16:08 |显示全部楼层
好吧, 发现xmove不过去, 不知为何

linux_c_py_php 发表于 2013-02-21 15:52
profile结果, 发现lua_loadstring开销最大, 我要优化掉, 把lua代码存在main thread里, 每次pushvalue拷贝一 ...

论坛徽章:
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
72 [报告]
发表于 2013-02-21 16:17 |显示全部楼层
@starwing83

一个问题, 每个request一个coroutine, 然后我发现每次给coroutine加载lua chunk的时候lua_loadstring的性能损耗很大, 所以我想一劳永逸...

于是, 我在main thread里先loadstring加载进来, 然后每次创建新的coroutine就想pushvalue拷贝一份, 然后xmove到coroutine的栈上, 但发现move不过去, 为什么呢, 谢谢.

论坛徽章:
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
73 [报告]
发表于 2013-02-21 16:26 |显示全部楼层

论坛徽章:
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
74 [报告]
发表于 2013-02-21 16:39 |显示全部楼层
暂时注册到registry里了, 为啥xmove不行是个问题.

论坛徽章:
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
75 [报告]
发表于 2013-02-21 16:53 |显示全部楼层
yulihua49 发表于 2013-02-21 16:45
你用select做的服务器怎样了啊?我的select服务器不灵啊,还不是性能什么的,连多个连接一起发送包都会死 ...


不知道啊, 它不是线程安全的, 直接one select per thread就行了... 还得用管道+queue来派发连接...

论坛徽章:
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
76 [报告]
发表于 2013-02-21 17:22 |显示全部楼层
经过测试, 嵌入lua版本可以跑出40万+的qps, 注意测试前修改logic.lua,改为echo版本, 因为test工具代码里是只读echo长度的字符串的,否则会造成测试错误。

论坛徽章:
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
77 [报告]
发表于 2013-02-21 20:00 |显示全部楼层
starwing83 发表于 2013-02-21 18:11
另外,LF模式主要是为了应对惊群问题吧?现在没有这个问题了吧?还需要用这个模式么?


LF+ONESHOT做的, LF测试比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
78 [报告]
发表于 2013-02-21 20:18 |显示全部楼层
starwing83 发表于 2013-02-21 18:10
回复 112# linux_c_py_php


我再试试啊, 我就这么用的, 活生生没Move过去., 汗

论坛徽章:
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
79 [报告]
发表于 2013-02-22 10:52 |显示全部楼层
yulihua49 发表于 2013-02-22 10:24
LT吧?我认为网络饱和看不出二者区别,CPU饱和才能看出来。


额, 让我先来重新试试为什么xmove挪不动吧, HOHO.

论坛徽章:
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
80 [报告]
发表于 2013-02-22 11:06 |显示全部楼层
starwing83 发表于 2013-02-22 08:36
回复 111# iw1210


嗯, 过网卡的话得看网卡性能, 公司网卡都优化了网卡对队列和CPU亲缘性, 能跑20万左右就极限了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP