AaronLucas / dotnet-rpc-benchmark

rpc component benchmarks for dotnet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dotnet-rpc-benchmark

rpc component benchmarks for dotnet

Frameworks

Environment

  • Client: E31230v2 16g
  • Server: E52670v2 32g
  • Network: [10Gb][1Gb]
  • System: Windows server
  • 10Gb network

  • 1Gb network

/tree/master/RPCBenchmark/Examples

client examples folder

Service interface

    public interface IGreeter
    {
        Task<HelloReply> SayHello(HelloRequest request);

        Task<User> Register(string name, string email, string password, string title, string city);

        Task<List<User>> List(int count);
        
    }

Hello

client request

SayHello(new HelloRequest { Name = "you" });

server response

return new HelloReply { Message = "Hello " + request.Name };

Register

client request

Greeter.Register("henryfan", "henryfan@msn.com", "12345678", "cxo", "guangzhou");

server response

            return Task.FromResult(new User
            {
                Name = name,
                Email = email,
                Password = password,
                Title = title,
                City = city,
                CreateTime = DateTime.Now,
                ID= Guid.NewGuid().ToString("N")
            });

List

client request

Greeter.List(10);

server response

            List<User> items = new List<User>(count);
            for(int i=0;i<count;i++)
            {
                var item = new User {
                    Name = "henryfan",
                    City = "guangzhou",
                    Email = "henryfan@msn.com",
                    Title = "cxo",
                    Password = "12345678",
                    ID = Guid.NewGuid().ToString("N"),
                    CreateTime = DateTime.Now
                };
                items.Add(item);
            }
            return Task.FromResult(items);

About

rpc component benchmarks for dotnet

License:Apache License 2.0


Languages

Language:C# 91.3%Language:PLpgSQL 6.9%Language:Batchfile 1.8%