libgsc(Game Server Communication Library)(四)

来源:互联网 发布:jsp网站源码 编辑:程序博客网 时间:2024/05/16 07:12

作了一个简单的测试.


大约是这样一个流程,  


1. 在gas进程中开启了4个NetInit, 也就是使用4个actor来处理网络初始消息. 当然, 对api作了些小改动.

void regNetInitActor(vector<Actor*>* netinits); /** 注册网络上与actor无关的消息处理器列表. */

原来是一个, 现在做成了多个.


2. 描述字限制在12000个,  实际上客户端开启了10000个tcp连接.


3. 全部代码使用-g3 -O3编译, 没有strip.


4. libgsc运行在一个i5四核的cpu上. 普通组装PC机.


5. 客户端代码如下:

10000个连接, 报文大小是22个字节. 期望每1/20毫秒发送一个报文.

public static void main(String[] args) throws UnknownHostException, IOException, InterruptedException{byte by[] = new byte[] { 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x03, 0x6B, 0x65, 0x79, 0x12, 0x03, 0x65, 0x78, 0x74 };DataOutputStream dos[] = new DataOutputStream[10000];for (int i = 0; i < dos.length; ++i)dos[i] = new DataOutputStream(new Socket("192.168.1.117", 9000).getOutputStream());while (true){for (int i = 0; i < dos.length; i++){dos[i].write(by);if ((i % 20) == 0)Thread.sleep(1);}}}



测试结果是:

1. 连接数, 监听在9000端口上.


2. 实际的消息量.

大约是 14 * 1000条消息/秒, 换算成字节是 14000 * 22 / 1024 ~= 300K字节/s


日志打印代码如下.

ushort NetInit::gcgas_msg_auth(NetInit* ni, Trans* trans, Msg* msg, GasAuthReq* req){        static ullong count = 0;        __sync_fetch_and_add(&count, 1);        if (count % 1000 == 0)                LOG_DEBUG("total message: %llu\n", count)        return GX_RET_SUCCESS;}

3. cpu与内存占用情况.

图中一共是19个线程(top -p 24091 -H), libgsc编译时指定了16个工作线程, 所以从下图可推测出:

a). 3个未占用cpu的线程应该是一个main线程, 一个Db线程, 一个是actorAuto线程. 

b). 占用cpu 3~5%左右, 是12个工作线程, 负载来自它们在管道上的操作. 

c). 最上面4个, cpu 11 ~ 13%, 应该就是四个NetInit所附着的线程.


内存的占用是69M. 性能咋样呢?

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁婴儿入睡困难怎么办 怀孕五个月胎儿肾积水怎么办 15个月宝宝总喊怎么办 学业水平考试有d怎么办 买了水果碰见领导怎么办 高一孩子不愿意上学怎么办 专家解答 孩子不愿意上学怎么办 冬天脚冷怎么办膝盖疼 拉拉裤大了怎么办小妙招 孕37周翻身困难怎么办 晚上睡不好白天犯困怎么办 抑郁症又不想起床了怎么办 儿童憋尿功能太差怎么办 一个月的宝宝睡眠不好怎么办 被商场要求撤场怎么办 上班没法接孩子放学怎么办 幼儿下午放学与上班错开怎么办 宝宝早上醒的早怎么办 晚卜睡不着尿多怎么办 要求正常休息公司不准怎么办 我早起被室友说怎么办? 小孩晚上睡的晚怎么办 初中一年级学不扎实怎么办 一年级学生上课爱说话怎么办 孩子不按时完成作业怎么办 高三理科基础不好怎么办 字写快了就难看怎么办 高一文科280分怎么办 高三了学不进去怎么办 副职兼任法人不够条件怎么办 正职和上级不和副职怎么办 中层正职和上级不和副职怎么办 陆军军官年龄大了怎么办 ps选区选多了怎么办 香港货物被海关扣了怎么办 羽绒服棉填充物不均匀了怎么办 蛀牙到牙神经了怎么办 t恤袖子长了怎么办 t恤袖子短了怎么办 ofo突然要交押金余款怎么办 裙子的腰小了怎么办