我正在windows上运行redis,并且有一些性能问题。这台机器是一台带有32 HW内存的Xeon E5和带有Windows 2012的HW的SSD。还有一些其他进程正在运行,但它们并不是关键的,而且大部分时间都处于空闲状态。
我经常注意到性能问题和操作超时,所以我开始使用"redis-cli -本质延迟100“。输出结果显示,最大延迟上升到15000微秒,我认为这是非常缓慢的。
我还运行了一个内存分析器:r/w-性能不太好(5GB/秒),但我认为这不应该是瓶颈。此刻,我完全不知道该尝试什么。
你能给我一些提示如何发现性能问题吗?
发布于 2014-08-22 09:45:27
没有像Windows中的Linux那样的“叉”。因此,当您转储redis db时,它可以“停止世界”,以便在磁盘"dump.rdb“上写入。嗯,他们确实实施了一种不停止redis的“复制即写”策略,它只是在转储时复制值( redis客户端仍然能够从redis获得响应)。它在他们的版本日志中:https://github.com/MSOpenTech/Redis
UNIX叉() API有一个替代品,它使用内存映射文件模拟写上复制行为。
这是windows中redis的真正瓶颈,因为它是一种开销,而且更复杂(bug?)。在这里解释:http://blogs.msdn.com/b/interoperability/archive/2012/04/26/here-s-to-the-first-release-from-ms-open-tech-redis-on-windows.aspx
因此,您可以尝试在Linux上运行redis来测试这是否是windows端口的性能问题。而且,编写dump.rdb的次数越多,开销就越大(您可以更改频率或尝试完全禁用它以进行测试)。
最后,它也可能是网络问题,您应该检查它是否不是网络规则/硬件问题(吞吐量不足!坏电缆或东西,防火墙.)。你的红宝石客户在同一台硬件机器上吗?
发布于 2021-01-14 10:28:32
https://stackoverflow.com/questions/25382742
复制相似问题