作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我可以知道 C# redis 的基准是什么吗?我尝试使用 456 字节数据通过 Tcp/ip 连接到 redis。基准如下:
hset - 600 次写入/秒,循环 10000 次 600次读取/秒,循环10000次
这正常吗?我怀疑是 tcp/ip 传输速率慢,因为传输速率慢 156 kbps。我已经设置了 TCP 接收窗口大小,但速度仍然相同。我还尝试通过 tcp/ip 使用 ubuntu 基准测试 redis。传输速率最高可达 3 mbps。hset ->10k 每秒。
最佳答案
问题很可能是延迟 - 虽然 Redis 每秒可以处理数千个操作,但单个同步连接将花费大部分时间等待网络。你的测试循环实际上是这样的:
Client Network Server
send GET
1ms
Process GET (0.01 ms)
1ms
Result received
因此该操作总共耗时 2.01 毫秒,但客户端和服务器几乎都处于空闲状态。这意味着您可以充分利用并行性 - 将循环拆分为 100 个线程,这样网络上就没有等待,您可以在相同的 2 毫秒内获得 100 个结果。
ubuntu 的差异可能是因为您在与 redis 相同的服务器上运行它 - 即使您使用的是 IP 而不是 unix 套接字,localhost 的延迟也比不同服务器之间的任何连接低得多。
关于c# - 通过 C# redis 客户端连接到 redis 很慢!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6774546/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!