使用Python Redis时Redis性能低下

2024-09-28 17:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在玩Redis,并使用以下脚本和测试服务器上最新的Redis Docker容器(Intel Atom x5-Z8350 CPU,2 GB Ram)了解Redis的运行方式

我的表现相当令人失望。将数据写入Redis需要0.2169秒,再次从Redis检索数据需要类似的时间

我有什么遗漏吗

dataset是一个Python字典,包含725个键值对,如下所示:

200001103829: {'team_1': 'Krasnodar', 'team_2': 'PAOK ', 'event_date': '2020-09-22T19:00:00Z', '1': 2.08, '2': 3.55, 'X': 3.25, 'last_update': '2020-09-22T01:30:10.666030'}

脚本:

import redis
import pdb
import generate_data

dataset = generate_data.generate()

client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)

t1 = time.perf_counter()

with client.pipeline() as pipe:
    for match in dataset:
        pipe.hmset(match, dataset[match])

    pipe.execute()

t2 = time.perf_counter()

print(f'Writing Data to Redis: {t2 - t1}')

redis基准测试结果:

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

0.00% <= 1 milliseconds
15.10% <= 2 milliseconds
96.40% <= 3 milliseconds
98.07% <= 4 milliseconds
98.97% <= 5 milliseconds
99.43% <= 6 milliseconds
99.70% <= 7 milliseconds
99.83% <= 8 milliseconds
99.89% <= 9 milliseconds
99.96% <= 10 milliseconds
99.97% <= 11 milliseconds
99.98% <= 12 milliseconds
99.99% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 17 milliseconds
100.00% <= 18 milliseconds
100.00% <= 20 milliseconds
100.00% <= 21 milliseconds
100.00% <= 23 milliseconds
12756.73 requests per second

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

0.01% <= 1 milliseconds
16.82% <= 2 milliseconds
96.31% <= 3 milliseconds
98.12% <= 4 milliseconds
98.99% <= 5 milliseconds
99.49% <= 6 milliseconds
99.75% <= 7 milliseconds
99.86% <= 8 milliseconds
99.92% <= 9 milliseconds
99.94% <= 10 milliseconds
99.96% <= 11 milliseconds
99.96% <= 12 milliseconds
99.97% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 18 milliseconds
100.00% <= 20 milliseconds
100.00% <= 24 milliseconds
12795.91 requests per second

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

0.01% <= 1 milliseconds
12.59% <= 2 milliseconds
96.04% <= 3 milliseconds
97.90% <= 4 milliseconds
98.98% <= 5 milliseconds
99.41% <= 6 milliseconds
99.63% <= 7 milliseconds
99.76% <= 8 milliseconds
99.83% <= 9 milliseconds
99.90% <= 10 milliseconds
99.95% <= 11 milliseconds
99.97% <= 12 milliseconds
99.99% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 18 milliseconds
100.00% <= 19 milliseconds
100.00% <= 20 milliseconds
100.00% <= 22 milliseconds
12729.12 requests per second

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

0.01% <= 1 milliseconds
13.68% <= 2 milliseconds
97.06% <= 3 milliseconds
98.51% <= 4 milliseconds
99.24% <= 5 milliseconds
99.60% <= 6 milliseconds
99.77% <= 7 milliseconds
99.87% <= 8 milliseconds
99.92% <= 9 milliseconds
99.93% <= 10 milliseconds
99.94% <= 11 milliseconds
99.96% <= 12 milliseconds
99.98% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 17 milliseconds
100.00% <= 21 milliseconds
12761.61 requests per second

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

0.00% <= 1 milliseconds
19.32% <= 2 milliseconds
96.44% <= 3 milliseconds
98.01% <= 4 milliseconds
98.89% <= 5 milliseconds
99.50% <= 6 milliseconds
99.72% <= 7 milliseconds
99.82% <= 8 milliseconds
99.90% <= 9 milliseconds
99.94% <= 10 milliseconds
99.96% <= 11 milliseconds
99.97% <= 12 milliseconds
99.98% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
99.99% <= 16 milliseconds
99.99% <= 17 milliseconds
99.99% <= 18 milliseconds
100.00% <= 20 milliseconds
100.00% <= 22 milliseconds
100.00% <= 24 milliseconds
100.00% <= 25 milliseconds
100.00% <= 27 milliseconds
12833.68 requests per second

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

0.00% <= 1 milliseconds
16.23% <= 2 milliseconds
96.39% <= 3 milliseconds
98.13% <= 4 milliseconds
99.03% <= 5 milliseconds
99.47% <= 6 milliseconds
99.75% <= 7 milliseconds
99.85% <= 8 milliseconds
99.91% <= 9 milliseconds
99.95% <= 10 milliseconds
99.96% <= 11 milliseconds
99.97% <= 12 milliseconds
99.97% <= 13 milliseconds
99.98% <= 14 milliseconds
99.98% <= 15 milliseconds
99.99% <= 16 milliseconds
99.99% <= 17 milliseconds
99.99% <= 18 milliseconds
100.00% <= 19 milliseconds
100.00% <= 19 milliseconds
12838.62 requests per second

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

0.01% <= 1 milliseconds
17.63% <= 2 milliseconds
96.63% <= 3 milliseconds
98.29% <= 4 milliseconds
99.16% <= 5 milliseconds
99.57% <= 6 milliseconds
99.75% <= 7 milliseconds
99.86% <= 8 milliseconds
99.90% <= 9 milliseconds
99.93% <= 10 milliseconds
99.96% <= 11 milliseconds
99.97% <= 12 milliseconds
99.98% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 20 milliseconds
100.00% <= 22 milliseconds
100.00% <= 23 milliseconds
100.00% <= 24 milliseconds
12894.91 requests per second

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

0.00% <= 1 milliseconds
12.86% <= 2 milliseconds
97.09% <= 3 milliseconds
98.55% <= 4 milliseconds
99.31% <= 5 milliseconds
99.64% <= 6 milliseconds
99.79% <= 7 milliseconds
99.87% <= 8 milliseconds
99.92% <= 9 milliseconds
99.95% <= 10 milliseconds
99.97% <= 11 milliseconds
99.98% <= 12 milliseconds
99.98% <= 13 milliseconds
99.99% <= 14 milliseconds
100.00% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 17 milliseconds
100.00% <= 26 milliseconds
12846.87 requests per second

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

0.00% <= 1 milliseconds
13.81% <= 2 milliseconds
96.78% <= 3 milliseconds
98.32% <= 4 milliseconds
99.12% <= 5 milliseconds
99.54% <= 6 milliseconds
99.82% <= 7 milliseconds
99.90% <= 8 milliseconds
99.96% <= 9 milliseconds
99.98% <= 10 milliseconds
99.99% <= 11 milliseconds
99.99% <= 12 milliseconds
100.00% <= 14 milliseconds
100.00% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 26 milliseconds
12777.92 requests per second

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

0.00% <= 1 milliseconds
16.47% <= 2 milliseconds
96.15% <= 3 milliseconds
98.14% <= 4 milliseconds
99.15% <= 5 milliseconds
99.51% <= 6 milliseconds
99.76% <= 7 milliseconds
99.86% <= 8 milliseconds
99.93% <= 9 milliseconds
99.96% <= 10 milliseconds
99.97% <= 11 milliseconds
99.98% <= 12 milliseconds
99.99% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 17 milliseconds
100.00% <= 17 milliseconds
12840.27 requests per second

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

0.01% <= 1 milliseconds
14.70% <= 2 milliseconds
96.24% <= 3 milliseconds
97.99% <= 4 milliseconds
98.83% <= 5 milliseconds
99.33% <= 6 milliseconds
99.65% <= 7 milliseconds
99.78% <= 8 milliseconds
99.89% <= 9 milliseconds
99.93% <= 10 milliseconds
99.94% <= 11 milliseconds
99.97% <= 12 milliseconds
99.97% <= 13 milliseconds
99.98% <= 14 milliseconds
99.98% <= 15 milliseconds
99.99% <= 16 milliseconds
99.99% <= 17 milliseconds
100.00% <= 18 milliseconds
100.00% <= 19 milliseconds
100.00% <= 21 milliseconds
100.00% <= 22 milliseconds
12794.27 requests per second

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

0.01% <= 1 milliseconds
16.37% <= 2 milliseconds
95.70% <= 3 milliseconds
97.88% <= 4 milliseconds
98.92% <= 5 milliseconds
99.39% <= 6 milliseconds
99.62% <= 7 milliseconds
99.76% <= 8 milliseconds
99.82% <= 9 milliseconds
99.88% <= 10 milliseconds
99.90% <= 11 milliseconds
99.91% <= 12 milliseconds
99.92% <= 13 milliseconds
99.95% <= 14 milliseconds
99.97% <= 15 milliseconds
99.99% <= 16 milliseconds
100.00% <= 19 milliseconds
100.00% <= 20 milliseconds
100.00% <= 22 milliseconds
100.00% <= 32 milliseconds
12773.02 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
  100000 requests completed in 7.78 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
15.13% <= 2 milliseconds
97.44% <= 3 milliseconds
98.70% <= 4 milliseconds
99.34% <= 5 milliseconds
99.65% <= 6 milliseconds
99.76% <= 7 milliseconds
99.83% <= 8 milliseconds
99.90% <= 9 milliseconds
99.95% <= 10 milliseconds
99.97% <= 11 milliseconds
99.99% <= 12 milliseconds
99.99% <= 13 milliseconds
100.00% <= 14 milliseconds
100.00% <= 15 milliseconds
100.00% <= 16 milliseconds
12861.74 requests per second

====== LRANGE_100 (first 100 elements) ======
  100000 requests completed in 11.71 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
0.02% <= 2 milliseconds
29.03% <= 3 milliseconds
97.18% <= 4 milliseconds
98.34% <= 5 milliseconds
98.88% <= 6 milliseconds
99.29% <= 7 milliseconds
99.55% <= 8 milliseconds
99.71% <= 9 milliseconds
99.87% <= 10 milliseconds
99.93% <= 11 milliseconds
99.96% <= 12 milliseconds
99.96% <= 13 milliseconds
99.98% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 16 milliseconds
100.00% <= 18 milliseconds
100.00% <= 19 milliseconds
8538.98 requests per second

====== LRANGE_300 (first 300 elements) ======
  100000 requests completed in 23.85 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
0.00% <= 2 milliseconds
0.01% <= 3 milliseconds
0.02% <= 4 milliseconds
0.10% <= 5 milliseconds
47.06% <= 6 milliseconds
98.51% <= 7 milliseconds
99.08% <= 8 milliseconds
99.29% <= 9 milliseconds
99.44% <= 10 milliseconds
99.56% <= 11 milliseconds
99.64% <= 12 milliseconds
99.72% <= 13 milliseconds
99.78% <= 14 milliseconds
99.82% <= 15 milliseconds
99.86% <= 16 milliseconds
99.88% <= 17 milliseconds
99.91% <= 18 milliseconds
99.94% <= 19 milliseconds
99.96% <= 20 milliseconds
99.98% <= 21 milliseconds
99.99% <= 22 milliseconds
100.00% <= 22 milliseconds
4193.22 requests per second

====== LRANGE_500 (first 450 elements) ======
  100000 requests completed in 33.17 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 3 milliseconds
0.00% <= 4 milliseconds
0.02% <= 5 milliseconds
0.05% <= 6 milliseconds
0.20% <= 7 milliseconds
14.98% <= 8 milliseconds
96.22% <= 9 milliseconds
99.05% <= 10 milliseconds
99.36% <= 11 milliseconds
99.50% <= 12 milliseconds
99.58% <= 13 milliseconds
99.64% <= 14 milliseconds
99.70% <= 15 milliseconds
99.74% <= 16 milliseconds
99.80% <= 17 milliseconds
99.83% <= 18 milliseconds
99.85% <= 19 milliseconds
99.87% <= 20 milliseconds
99.89% <= 21 milliseconds
99.91% <= 22 milliseconds
99.92% <= 23 milliseconds
99.94% <= 24 milliseconds
99.95% <= 25 milliseconds
99.96% <= 26 milliseconds
99.97% <= 27 milliseconds
99.98% <= 28 milliseconds
99.99% <= 29 milliseconds
99.99% <= 30 milliseconds
100.00% <= 31 milliseconds
100.00% <= 32 milliseconds
100.00% <= 32 milliseconds
3014.95 requests per second

====== LRANGE_600 (first 600 elements) ======
  100000 requests completed in 43.56 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 4 milliseconds
0.00% <= 5 milliseconds
0.01% <= 6 milliseconds
0.03% <= 7 milliseconds
0.08% <= 8 milliseconds
1.19% <= 9 milliseconds
19.68% <= 10 milliseconds
53.16% <= 11 milliseconds
85.00% <= 12 milliseconds
98.26% <= 13 milliseconds
99.44% <= 14 milliseconds
99.62% <= 15 milliseconds
99.71% <= 16 milliseconds
99.78% <= 17 milliseconds
99.86% <= 18 milliseconds
99.90% <= 19 milliseconds
99.92% <= 20 milliseconds
99.94% <= 21 milliseconds
99.96% <= 22 milliseconds
99.97% <= 23 milliseconds
99.98% <= 24 milliseconds
99.98% <= 25 milliseconds
99.99% <= 26 milliseconds
100.00% <= 27 milliseconds
100.00% <= 28 milliseconds
100.00% <= 30 milliseconds
2295.53 requests per second

====== MSET (10 keys) ======
  100000 requests completed in 7.85 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
8.73% <= 2 milliseconds
96.44% <= 3 milliseconds
98.37% <= 4 milliseconds
99.17% <= 5 milliseconds
99.57% <= 6 milliseconds
99.77% <= 7 milliseconds
99.88% <= 8 milliseconds
99.92% <= 9 milliseconds
99.95% <= 10 milliseconds
99.96% <= 11 milliseconds
99.98% <= 12 milliseconds
99.99% <= 13 milliseconds
99.99% <= 14 milliseconds
100.00% <= 16 milliseconds
100.00% <= 17 milliseconds
100.00% <= 18 milliseconds
100.00% <= 19 milliseconds
100.00% <= 20 milliseconds
12737.23 requests per second

Tags: inredisbytesparallelrequestsclientspayloadseconds