DIOCP开源项目-DIOCP3的ECHO测试<贴图>

星期六开了测试台测试机子。星期天休息,今天早上来接两个图

开了2个客户端,一个qsl的echo client,一个是楠楠的dbiocp回调客户端。建立13240个连接

今天来后,机子很卡,后来发现是楠楠的dbiocp导致的。难怪,速率才14M /s,刚1个小时能达到 90M/S,关掉后,和qsl的客户端继续很正常。

唯一的缺陷是,Integer溢出了,导致统计数据出现了负数。qsl的客户端一样也是这个问题,实际使用倒是可以忽略。

内存占用<设定的WSARecv的内存块大小为1024>,内存占用比较小 不到50M

全部关闭后

连接数变成0了, 最后关闭服务端,正常退出。

DIOCP开源项目-DIOCP3的ECHO测试<贴图>

时间: 2024-11-06 07:29:24

DIOCP开源项目-DIOCP3的ECHO测试<贴图>的相关文章

DIOCP开源项目-DIOCP3的重生和稳定版本发布

DIOCP3的重生 从开始写DIOCP到现在已经有一年多的时间了,最近两个月以来一直有个想法做个 30 * 24 稳定的企业服务端架构,让程序员专注于逻辑实现就好.虽然DIOCP到现在通讯层已经很稳定了,但是要做如果做这种架构,发现还有诸多不便.于是,有了重写DIOCP的想法. 关于开源服务器的选用: 前段时间大部分代码已经编写完成,于是需要给diocp3安个家,google显然不行了,老是被墙.然后准备选用http://sourceforge.net/,发现我的qq email老是收不到验证邮

DIOCP开源项目-DIOCP3的LoadRunner11测试报告

昨天有个多年的群友(B3.Locet)用LoadRunner11对DIOCP3做压力测试,说测试的时候出现了大量的10053,10054的报告.昨天晚上下载了个LoadRunner11, 今天捣鼓了下.没用过这么高级的东西, LoadRunner是专业的测试工具,用来测试DIOCP3 Echo测试服务器,是用socket协议进行测试 脚本写的很简单,每次发送101次数据,然后关闭连接. 在运行的时候模拟1000个用户运行,可以选择连续执行,或者只运行一次.经过测试发现,报告上面出现大量的1005

DIOCP开源项目-DIOCP3 大文件的传输DEMO&lt;断点续传&gt;

首先该DEMO在StreamCoder上面做的改动,期间导致StreamCoderDEMO经常出现问题,导致大家运行的时候,频频出现问题,表示道歉. 以下是测试的结果,从服务器下载传输了一个3G左右的文件(Win7.iso).传输后用Hash工具做了个测试,是一样的.后面贴出了两个文件的贴图. 下面是客户端接受到文件的hash截图 下面是服务端源文件的hash截图 协议和功能 该DEMO由客户端请求服务端位与Files下面的文件,第一次请求文件信息(文件大小),请求到文件后,请求下载文件数据,收

DIOCP开源项目-DIOCP3直接发送对象,帮你处理粘包问题

该DEMO演示,如何在客户端与服务端之间直接传递TStream对象,让你专注于处理数据逻辑,可以忽略处理网络传输间粘包的问题. 上面由服务端向所有的客户端推送一个消息TMemoryStream对象(该对象为字符串数据). 代码解释: procedure TfrmMain.actPushMsgExecute(Sender: TObject); var lvList:TList; i: Integer; lvStream:TMemoryStream; s:AnsiString; begin lvLi

DIOCP开源项目-DIOCP3重写笔记-1

这几天在在重新DIOCP3,基本工作已经初步完成,进入测试阶段,今天加入排队投递,本认为是个很简单的工作,稍微不注意,留了两个坑,调了7,8个小时,刚刚总算找到问题,记录一下, 关于排队投递的流程 这是投递一个TIocpSendRequest的流程,投递开始,投递一块数据,最大50K,如果超过50K则分批进行投递.流程是没错,我刚开始的写法是: 其中InnerPostRequest是投递发送数据到iocp队列中去,投递完成后然后增加内存块的Postion,以便于下次继续投递.看上去貌似没什么问题

DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了

[概述] 自从上次发布了[DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端]文章后,得到了很多朋友的支持和肯定.这加大了我的开发动力,经过几个晚上的熬夜,终于在昨天晚上,DEMO基本成型,今天再加入了QWorkers来做逻辑处理进程,进一步使得逻辑处理进程更加方便和高效.今天特意写篇blog来记录我的心得与大家分享. [功能实现说明] 沿用上次的草图 目前DEMO图上的功能都已经实现.下面谈谈各部分的实现. 通信服务, 由DIOCP实现,担当与客户端的通信工作

Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

测试 目前主流的就bdd和tdd,自己查一下差异 推荐 mocha和tape 另外Jasmine也挺有名,angularjs用它,不过挺麻烦的,还有一个选择是qunit,最初是为jquery测试写的,在nodejs里用还是觉得怪怪的. 如果想简单可以tap,它和tape很像,下文会有详细说明 mocha mocha是tj写的 https://github.com/mochajs/mocha var assert = require("assert") describe('truth',

【DIOCP开源项目】实际应用案例

案例1 DIOCP是Delphi下进行IOCP服务端通讯开发的一个非常好的开源框架,稳定.高效并且使用起来十分简单. 自己两个多月之前因为需要使用Delphi开发一个TCP服务端,当时也是到处爬文,希望找到一个稳定且好用的IOCP开源框架,整整一周的时间,看了很多,也对比了很多,最后选择了DIOCP,现在服务器端正式版本已经上线运行了36天的时间了,所有运行一切稳定,无论是CPU占用.内存使用还是通信稳定性,DIOCP的表现真的没有让我失望,表现得非常优秀. 服务器环境:   OS:Window

DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端

最近头脑里面一直在想怎么样让能让大家基于DIOCP上写出稳定的服务端程序.很多朋友问我,你DIOCP稳定吗,我可以用他来做三层服务器吗? 当时我是这样回答的,我只能保证DIOCP底层通信的稳定. 说实话,服务端要稳定,并不容易,写过服务端的程序员都清楚.特别是这种可以直接操作指针,自己分配内存和释放内存的语言(想C++, C, Delphi),一不小心就一个坑,一个坑可能就会引发,内存的释放越界,访问非法地址.导致整个进程的直接奔溃. 经过一些研究和咨询,我可以利用多进程来实现通信层和逻辑层的彻