在我的reids性能测试中:
是否使用了一条直线组合我的两台笔记本电脑制成1GB以太网,redis-server部署在我的T420 I5-2520(2核,4线程)/ 8G中。在另一台笔记本电脑上使用redis-brenchmark来测试具有20byte值大小的SET命令:
./redis-benchmark -h xx -p xx -t set -q -r 1000 -l -d 20 .
输出:
1个实例:
speed:170K/s
network: 280Mb/s
process CPU: 98.00%
Cpu0 : 21.0%us, 40.7%sy, 0.0%ni, 4.3%id, 0.0%wa, 0.0%hi, 34.0%si, 0.0%st
2个实例:
speed:200k/s
network:320Mb/s
process CPU 1: 98%
process CPU 1: 98%
Cpu0 : 18.9%us, 20.5%sy, 0.0%ni, 0.3%id, 0.0%wa, 0.0%hi, 60.3%si, 0.0%st
Cpu1 : 41.2%us, 56.5%sy, 0.0%ni, 2.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
3个实例:
speed:200k/s
network:320MB/s
process CPU 1: 67%
process CPU 1: 67%
process CPU 1: 67%
Cpu0 : 20.6%us, 19.9%sy, 0.0%ni, 0.7%id, 0.0%wa, 0.0%hi, 58.8%si, 0.0%st
Cpu1 : 37.9%us, 54.2%sy, 0.0%ni, 8.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 5.7%us, 4.7%sy, 0.0%ni, 88.0%id, 1.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 5.6%us, 2.6%sy, 0.0%ni, 91.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
我有两个问题:
为什么在1个实例中280MB / s需要34.0%si,但在2个实例中320MB它增加到60.3%si?软中断可能是瓶颈,但在我看来它必须是比例关系。
3个实例测试的结果似乎多个实例不能在同一个物理核心中使用多个物理CPU核心(cpu0
和cpu1
)?