}
«网站首页

sniperHW

关注此人
把sniperHW加为好友
附言:



最新动态
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-20 14:34
    @smark
    从cpu利用率上看,核心态只占用到10%-15%,大部分是用户态的利用率.
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-20 14:33
    @smark
    而且从cpu的利用率看,核心利用率只占用到20%左右,剩下的全是用户态利用率.
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-20 14:31
    @smark
    不满,60%左右,将包字节加到40左右才占满。共用缓冲0拷贝的机制,收包缓冲,直接被用作发包缓冲,不管发往几个客户端。300W/380/10/2,也就只平均每次执行发送都合并了近394个包.
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-20 10:22
    @smark
    不完全是,因为带宽还没满。达到这个量的时候cpu已经是瓶颈,接收方cpu利用率很低,因为收包后直接丢弃。而发送方每秒要做几百万次的遍历和转发,cpu已经扛不住了。
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-19 22:51
    改成50ms统一发送一次后,性能提高到290-300W左右,目前看来还算稳定,准备进一步加连接数看看。
  • sniperHW 评论博客:beetle进行同屏500物体广播测试 2012-05-19 22:19
    E5520 2.27的服务器,可以处理到340W/s,内部千兆网,延时平均在45ms.
  • sniperHW 评论博客:.net 开发人员面试 - 多线程 2012-05-19 21:48
    盲目的迷信多线程不是件好事,对普通的上层开发人员来说,如果让他感觉到了多线程的存在,那是架构有问题。所以,首先看你想招的是什么人,再考虑要问什么问题.
  • sniperHW 评论博客:浅谈客户端主导的技能系统 2012-05-18 22:49
    那伤害具体是由攻击方还是遭受方来判定呢,攻击方认为击中,遭受方认为闪避,怎么处理。
  • sniperHW 评论博客:KendyNet性能测试 2012-05-18 08:01
    单线程,只要人不是集中在一块,2000人是没问题的。如果全在一块,700人千兆已经抗不住了。
    引用egmkang:
    我们的网关的是多线程的,看样子好像可以抗住2000人左右.
    场景是单线程的,2000人也能抗住...
  • sniperHW 发表博客:KendyNet性能测试 2012-05-17 21:53
    这几天编写了一个测试程序,测试我的网络库(KendyNet Windows版本)的性能,主要用于模拟大量玩家在同一区域内,互相可见情况下网络的压力情况.测试环境:客户机和服务器 E5520 4GB w...
  • sniperHW 评论博客:网络服务器发送封包设计 2012-05-17 18:38
    引用gonggt:不错 学习了 一直在学习怎么处理拆包 组包的的内容 谢谢了 关注ing..
    https://github.com/sniperHW/KendyNet/tree/master/IOCP
    项目代码在这,有测试程序,原来的C++版本没做过测试,已经废弃,
    这里是最新的C版本
  • sniperHW 发表博客:C语言重写网络发送/接收封包 2012-05-12 21:19
    本文贴出用C语言重写的网络封包,主体设计思路前文已经介绍过,就是尽可能的共享缓存,减少不必要的内存拷贝.其次,封包主要是为了适合网络游戏等有固定模式的,面向字节流的协议,所以并不适合用于http类协议...
  • sniperHW 评论博客:Acceptor 和 Connector 2012-05-10 10:45
    我们服务器确实是windows的,但我写的东西跟我们目前的服务器无关,
    linux和windows都实现了对应的接口。
  • 百兆网是的,我用的是千兆网
  • 一个IOCP单线程,250连接,每包大小64字节,每次只发一个包,我测算过每秒峰值能达到80w个,平均情况是70W左右。
  • sniperHW 发表博客:C工具库10:带引用计数的buffer 2012-05-10 10:25
    前面写了一系列文章都是关于网络底层机制封装的,后面要慢慢的将这些机制组装起来,实现一套可用的网络库。既然是网络库,自然少不了对缓存的管理,本文实现一个带引用计数的buffer,作为packet的底层缓...
  • sniperHW 发表博客:Acceptor 和 Connector 2012-05-08 16:54
    非阻塞Accept和Connect的封装器,WINDOWS版本acceptor#ifndef _ACCEPTOR_H#define _ACCEPTOR_Htypedef struct acceptor...
  • sniperHW 发表博客:IOCP基础封装 2012-05-04 15:57
    前几篇文章介绍了集中linux epoll的封装方式,本篇回归windows,介绍一个IOCP的封装。首先介绍要达到的目的:1) 导出基本接口,作为一个更高层跨平台网络的基础组件2) 导出的接口用法与...
  • sniperHW 发表博客:向lua中添加i64的支持 2012-04-26 11:21
    lua中默认的number类型是double的,在游戏中很多数据类型用到了64位整型,虽然可以通过重定义lua_Number为__int64以支持64位整型,但这又丢失了对浮点数的支持.好在可以很方便...
  • http://www.cnblogs.com/sniperHW/archive/2012/04/24/2468186.html
    http://www.cnblogs.com/sniperHW/archive/2012/04/09/2438850.html
    http://www.cnblogs.com/sniperHW/archive/2012/04/07/2436385.html
    这里几篇介绍了各种epoll实现网络层的模式.
  • sniperHW 发表博客:epoll 边界触发模式3的实现 2012-04-24 15:38
    前段时间写过一篇博客介绍epoll边界触发模式的三种实现模式,并在http://www.cnblogs.com/sniperHW/archive/2012/04/09/2438850.html中贴出了...
  • sniperHW 评论博客:C工具9:定时器 2012-04-21 14:54
    @egmkang
    我也正在实现一个基于时间轮的定时器,不过不是作为通用定时器使用的,通用定时器还是使用本文介绍的定时器。
  • sniperHW 评论博客:C++实现对lua访问的封装 2012-04-21 14:14
    @egmkang
    你指运行效率还是开发效率
  • sniperHW 评论博客:C++实现对lua访问的封装 2012-04-21 13:47
    @egmkang
    我个人不是很喜欢tolua++这种方式。
  • sniperHW 发表博客:一个简陋的lua调试器 2012-04-20 23:05
    lua没有提供专门的调试器,但却提供了一些接口函数,用以实现你自己的调试器。下面实现了一个简单的基于命令行的lua调试器,提供一些最最基本的调试功能。这里面只用到了3个基本的lua调试函数,debug...
  • sniperHW 发表博客:C++实现对lua访问的封装 2012-04-20 22:35
    这是一个几年前写的对lua的访问封装,当时的项目仅提供了最基本的lua访问接口:调用lua函数,向lua注册标准格式的C++函数.本来我想引进luabind,但luabind相对又过于复杂,并不是所有...
  • sniperHW 发表博客:C工具9:定时器 2012-04-20 15:55
    程序项目经常用到定时功能,如网络程序中,每隔固定的时间将发送缓冲中的数据一次性发往对端.下面介绍一个用posix timerfd实现的定时器, timerfd将定时器当做一个文件描述符,当定时器到时f...
  • 看错你的意思了,不用理会。
  • typedef struct pointer_array
    {
    size_t len;
    void * array;
    }pointer_array_t;

    typedef struct zero_array
    {
    size_t len;
    void * array[0];
    }zero_array_t;
    是不等价的.
  • sniperHW 评论博客:C 工具库1:list 2012-04-18 21:11
    @westfly
    如果你是指为什么提供迭代器而不是提供一个for_each函数的话,我的本意是为双向遍历列表提供遍历,也便于在迭代的过程中删除元素。虽然效率相对低一点,但使用跌代更加灵活。for_each本来也是要提供的,只是最近没空写.
Top