2011년 2월 5일 Lenovo P1 Gen 2의 Redis 벤치마크 결과가 형편없었습니다.

2011년 2월 5일 Lenovo P1 Gen 2의 Redis 벤치마크 결과가 형편없었습니다.

새로운 초고사양 노트북(Lenovo P1 Gen 2)에서 매우 나쁜 Redis 벤치마크를 얻었습니다.

~ % cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 158
model name  : Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
 redis-benchmark 
====== PING_INLINE ======
  100000 requests completed in 6.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
33.15% <= 2 milliseconds
91.81% <= 3 milliseconds
99.99% <= 4 milliseconds
100.00% <= 4 milliseconds
16265.45 requests per second

====== PING_BULK ======
  100000 requests completed in 6.15 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
32.82% <= 2 milliseconds
89.20% <= 3 milliseconds
99.97% <= 4 milliseconds
100.00% <= 4 milliseconds
16254.88 requests per second

====== SET ======
  100000 requests completed in 6.14 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
33.01% <= 2 milliseconds
89.44% <= 3 milliseconds
99.99% <= 4 milliseconds
100.00% <= 4 milliseconds
16289.30 requests per second

내가 소유한 고대 MBP는 ​​SET에 대해 60k를 푸시했고 내 데스크탑은 세트에 대해 177935를 푸시했는데 이는 10배 더 많은 수치입니다.

데스크탑은 Redis를 설치한 후 Arch 설치 프로그램에서 직접 재현할 수 있는 동일한 커널을 실행합니다. (USB 드라이브에서 부팅)

 ~ % uname -a
Linux laptop 5.2.11-arch1-1-ARCH #1 SMP PREEMPT Thu Aug 29 08:09:36 UTC 2019 x86_64 GNU/Linux

이 끔찍한 네트워크 스택 성능을 어떻게 디버깅할 수 있을지 아시나요 localhost?

redis-server --version
Redis server v=5.0.5 sha=00000000:0 malloc=jemalloc-5.2.0 bits=64 build=78473e0efb96880a

편집하다

Wi-Fi를 제거하고 다시 로드하면 상황이 더 빨라집니다.

[root@slaptop ~]# modprobe -r iwlmvm
[root@slaptop ~]# modprobe -r cfg80211
[root@slaptop ~]# modprobe -r iwlwifi
[root@slaptop ~]# modprobe iwlwifi
[root@slaptop ~]# modprobe cfg80211
[root@slaptop ~]# modprobe iwlmvm
[root@slaptop ~]# redis-benchmark 
====== PING_INLINE ======
  100000 requests completed in 0.61 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
165016.50 requests per second

====== PING_BULK ======
  100000 requests completed in 0.63 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
159744.41 requests per second

====== SET ======
  100000 requests completed in 0.60 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

그래서 네트워크를 초기화할 때의 작업 순서와 관련이 있는 것 같아요. 나는 알고 싶다...

관련 정보