影响Redis性能的因素
2017-02-20 23:15
218 查看
* 网络带宽和延迟。在执行基准测试前使用ping快速检测客户端和服务器端的延迟是一个良好的做法。对于带宽,比较好的做法是估计Gbits/s 的吞吐量和网络的理论带宽值比较。在很多实际的情况,Redis的吞吐量在网络之前会受限于CPU。
* CPU也会是一个重要因素。由于单线程的,Redis受益于快速的含有巨大缓存的CPU。
* 内存的速度和容量对于小的对象影响不大。但对于大于10KB的对象,可能对需要注意。通常购买昂贵的快速内存模块并不是真正的很有效。
* Redis在虚拟机上运行慢。虚拟化对很多普通操作来说代价太高了,Redis并没有增加多少开销在所需的系统调用和网络中断上。
* 客户端和服务器在一台机器运行,对于基准测试TCP/IP回送和UNIX域套接字都可以使用。取决于平台,但UNIX域套接字比TCP/IP回送增加50%的吞吐量。
* 当大量使用 pipelining时,UNIX域套接字获得的性能好处会减少。
* 当以太网访问Redis时,在数据大小小于以太网数据包的大小(大约1500字节)时,聚集命令使用 pipelining会非常有效。
* 在多CPU套接字服务器,Redis的表现变得依赖于NUMA配置和处理位置。
* 在高端配置,客户端连接的数量也是一个重要的因素。基于epool/kqueue模型,Redis的事件循环是相当可伸缩的。
* 在高端的配置,通过调优NIC(s)配置和相关中断可能取得高吞吐量。
* 根据平台,Redis编译可以使用不同的内存分配器,这可能有不同的行为在原始速度,内部和外部的碎片方面
* CPU也会是一个重要因素。由于单线程的,Redis受益于快速的含有巨大缓存的CPU。
* 内存的速度和容量对于小的对象影响不大。但对于大于10KB的对象,可能对需要注意。通常购买昂贵的快速内存模块并不是真正的很有效。
* Redis在虚拟机上运行慢。虚拟化对很多普通操作来说代价太高了,Redis并没有增加多少开销在所需的系统调用和网络中断上。
* 客户端和服务器在一台机器运行,对于基准测试TCP/IP回送和UNIX域套接字都可以使用。取决于平台,但UNIX域套接字比TCP/IP回送增加50%的吞吐量。
* 当大量使用 pipelining时,UNIX域套接字获得的性能好处会减少。
* 当以太网访问Redis时,在数据大小小于以太网数据包的大小(大约1500字节)时,聚集命令使用 pipelining会非常有效。
* 在多CPU套接字服务器,Redis的表现变得依赖于NUMA配置和处理位置。
* 在高端配置,客户端连接的数量也是一个重要的因素。基于epool/kqueue模型,Redis的事件循环是相当可伸缩的。
* 在高端的配置,通过调优NIC(s)配置和相关中断可能取得高吞吐量。
* 根据平台,Redis编译可以使用不同的内存分配器,这可能有不同的行为在原始速度,内部和外部的碎片方面
相关文章推荐
- redis性能测试以及影响性能的因素
- 影响ActiveMQ性能的几个重要因素
- DS4000 / DS5000 中影响性能的因素有哪些
- 存储系统性能影响因素(1)---文件系统
- 影响WEB站点性能的因素
- 影响SQL Server数据库应用性能的几个常见因素
- java性能影响因素
- J2EE系统中影响性能的一些因素
- mysql本身对性能影响的因素存储引擎、数据库配置、数据库表结构及sql语句
- 影响数据库性能的因素
- 架构设计中影响性能的因素及解决方案
- ch6 影响 MySQLServer 性能的相关因素
- 影响数据库性能的因素以及解决方法
- 影响数据库性能的六大因素
- 哪些因素影响了数据库性能
- J2EE系统中影响性能的一些因素
- C++ 语言特性的性能分析 之 影响性能的因素
- 影响Hibernate性能的因素
- 影响逻辑斯蒂回归性能的因素
- Java中影响方法调用性能的因素