通过c# redis客户端连接redis

本文关键字:redis 连接 客户端 通过 | 更新日期: 2023-09-27 18:03:15

我可以知道什么是c# redis的基准吗?我尝试通过Tcp/ip与456字节的数据连接到redis。基准测试如下:

hset - 600写/秒,循环10000次600次读取/秒,循环10000次

这正常吗?我怀疑是tcp/ip传输速率慢,因为传输速率慢156 kbps。我已经设置了TCP接收窗口大小,但速度仍然相同。我也试过通过tcp/ip使用ubuntu基准redis。传输速率最高可达3mbps。

通过c# redis客户端连接redis

最可能的问题是延迟-虽然redis每秒可以处理数千个操作,但单个同步连接将花费大部分时间等待网络。您的测试循环实际上类似于:

Client                Network       Server 
send GET     
                      1ms         
                                    Process GET (0.01 ms)
                      1ms
Result received 

所以这个操作总共花费了2.01ms的时间,但是客户端和服务器几乎都是空闲的。这意味着你可以很好地利用并行性——在100个线程之间分割你的循环,这样就不会在网络上等待,你可以在同样的2毫秒内得到100个结果。

ubuntu的差异可能是由于你和redis在同一个服务器上运行——即使你使用IP而不是unix sockets, localhost比不同服务器之间的任何连接都有更低的延迟。