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进行10亿次请求的压力和稳定性测试

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

你可能感兴趣的:(etl)