Beetle进行10亿次请求的压力和稳定性测试

    作为一个通讯基础组件,其稳定性必须进行大量的测试。因为服务必须保持不7x24不间断地运行,任何的内存的持续性增长都会导致服务最终因为内存问题而倒下。Beetle为了保证这一点在1.2的版本进行了各项优化,经初步测试进行大量并发的同时进行长时间压力测试,经过十几亿次的请求应答后Beetle依然保持着稳定的内存使用状况。

    以下是测试描述和结果。

    服务端: CORE E4300 1.8G  win2003

    两台client建立4K个长连接,每个连接大概每0.1秒向服务器发送请求,请求对象是

class Register : IMessage
        {
            public string UserName;
            public string EMail;
            public int Tisk = Environment.TickCount;
            public void Save(BufferWriter writer)
            {
                writer.Write(UserName);
                writer.Write(EMail);
                writer.Write(Tisk);
            }
            public void Load(BufferReader reader)
            {
                UserName = reader.ReadString();
                EMail = reader.ReadString();
                Tisk = reader.ReadInt32();
            }
        }

    服务端获取分析数据后反序列化成对像,然后把该消息回应给客户端。服务器监控结果如下:

测试表明beetle在4000个连接接入的情况下进行每秒3W多的请求和应答,在处理了十几亿次的时候还保持着良好的内存使用状况。beetle 1.2在发布的时候在同样的强度测试下,内存占用率会降低50%

posted @ 2012-03-19 08:46  beetlex  阅读(947)  评论(0编辑  收藏  举报