gpt4 book ai didi

performance - Redis 设置性能问题

转载 作者:可可西里 更新时间:2023-11-01 11:24:18 24 4
gpt4 key购买 nike

我正在尝试对我的 redis SUNION 命令进行基准测试。在基准测试中,其中一组包含约 1000 个元素,而其他包含约 10 个元素。

每次调用的执行顺序约为 0.52 毫秒。

这是理想的性能还是我错过了 conf 文件中的一些调整设置。

我正在尝试使用基本集合操作对对象实现标签过滤。对于前。obj1 -> {id - 1 颜色红色位置 x}

obj1 -> {id - 1 color red location x}obj2 -> { id - 2 颜色黄色位置 y}obj3 -> { id - 3 clour 红色位置 y}

为了存储,我使用集合来存储每个维度的对象 ID。因此

颜色:红色 -> {1,3}颜色:黄色 -> {2}位置:x -> {1}location:y -> {2,3}

这使我能够在此之上公开 api,例如:位置 x 中的红色物体任何位置的红色物体

这些中的每一个实际上都为我转换为多个集合操作,使用我使用管道实现的联合交集差异。

规模:任何集合中元素的最大数量都非常少~5000。延迟是主要考虑的点。如果我应该采取任何其他方式来实现这种性能。会有帮助。

最佳答案

我不知道性能是否理想(听起来很棒,在我的书中不到 1 毫秒就很棒,但这实际上取决于您的要求)。

我在笔记本电脑上执行了以下测试:

$ for i in `seq 0 999`; do redis-cli sadd s1000 forbar$i; done
...
$ for i in `seq 0 9`; do redis-cli sadd s10 foobar$i; done
...
$ redis-benchmark SUNION s1000 s10
...
100.00% <= 56 milliseconds
1171.37 requests per second
$ redis-benchmark SUNION s1000
...
100.00% <= 57 milliseconds
1062.70 requests per second
$ redis-benchmark SMEMBERS s1000
100.00% <= 19 milliseconds
3300.33 requests per second
$ redis-benchmark SINTER s1000
100.00% <= 17 milliseconds
3311.26 requests per second

...

127.0.0.1:6379> INFO
# Server
redis_version:999.999.999
redis_git_sha1:4e5e0d37
redis_git_dirty:1
redis_build_id:abfc1e37fd7acbf7
redis_mode:standalone
os:Darwin 17.7.0 x86_64
arch_bits:64
multiplexing_api:kqueue
atomicvar_api:atomic-builtin
gcc_version:4.2.1
process_id:23596
run_id:73b0f2f6795eccb8286fc086c83d89da45314ce2
tcp_port:6379
uptime_in_seconds:55429
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:9775394

...

Hardware Overview:

Model Name: MacBook Pro
Model Identifier: MacBookPro11,4
Processor Name: Intel Core i7
Processor Speed: 2.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
Boot ROM Version: MBP114.0184.B00
SMC Version (system): 2.29f24

这些结果(以及一些深入研究代码的结果)表明:

  1. SUNION 比仅获取集合的成员要慢(SMEMBERS 使用与 SINTER 相同的实现)。
  2. 迭代和回复 1000 个元素至少需要 17-19 毫秒
  3. SUNION 和其他之间的区别不是数量级上的,这很好,但可能需要对 Redis 代码进行一些优化(至少对于这种边缘情况)。

关于performance - Redis 设置性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com