新しい超高仕様ノートブック(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
だから、ネットワークを初期化するときの作業手順と関連があるようです。私は知りたいです...