/// <summary> /// 测试 /// </summary> /// <param></param> public static void Test(IServiceProxyFactory serviceProxyFactory) { Task.Run(async () => { var userProxy = serviceProxyFactory.CreateProxy<IUserService>("User"); await userProxy.GetUserId("user"); do { Console.WriteLine("正在循环 1w次调用 GetUser....."); //1w次调用 红河乐虎资讯网-- var watch = Stopwatch.StartNew(); for (var i = 0; i < 10000; i++) { var a =userProxy.GetUser(new UserModel { UserId = 1 }).Result; } watch.Stop(); Console.WriteLine($"1w次调用结束,执行时间:{watch.ElapsedMilliseconds}ms"); Console.ReadLine(); } while (true); }).Wait(); }
测试 10 object(注:测试参数传List 集合对象)
/// <summary> /// 测试 /// </summary> /// <param></param> public static void Test(IServiceProxyFactory serviceProxyFactory) { Task.Run(async () => { var userProxy = serviceProxyFactory.CreateProxy<IUserService>("User"); await userProxy.GetUserId("use那曲乐虎资讯网--"); var list = new List<UserModel>(); for(int i=0;i<10;i++) { list.Add(new UserModel { UserId = 1, Age = 18, Name = "fanly" }); } do { Console.WriteLine("正在循环 1w次调用 GetUser....."); //1w次调用 var watch = Stopwatch.StartNew(); for (var i = 0; i < 10000; i++) { var a =userProxy.Get(list).Result; } watch.Stop(); Console.WriteLine($"1w次调用结束,执行时间:{watch.ElapsedMilliseconds}ms"); Console.ReadLine(); } while (true); }).Wait(); }
测试100 object(注:测试参数传List 集合对象)
测试 Test(IServiceProxyFactory serviceProxyFactory) { Task.Run(async () => { ); ); var list = new List<UserModel>(); for(int i=0;i<100;i++) { list.Add( }); } do { Console.WriteLine(); watch = Stopwatch.StartNew(); for (var i = 0; i < 10000; i++) { var a =userProxy.Get(list).Result; } watch.Stop(); Console.WriteLine($); Console.ReadLine(); } while (true); }).Wait(); }
通过以上测试代码,我们得到了如下的测试结果
通过上图,可以发现messagepack不管是小数据量还是大数据量都保持比较稳定的性能,而json.net 在100object平均已经达到了1.1ms,和messagepack、protobuffer比差太多,而protobuffer在此次测试中表现的极其不稳定只有在1 object 和100 object 性能比较不错,但是与messagepack比还是相差比较大。所以我建议还是使用messagepack,性能上更优,侵入性也非常低
我们来看看性能最优的messagepack 详细测试数据
o object:
1 object:
10 object:
100 object
测试环境
CPU:Intel Core i7-4710MQ
内存:16G
硬盘:1T SSD+512G HDD
网络:局域网
6、总结
surging 已经完成JWT验证和AppSecret验证,下篇文章会详细介绍surging 身份认证,如感兴趣请多关注或者加入QQ群:615562965
当前文章:
发布时间:2017-11-25 11:01:08
{索引池}