微软的新项目 Garnet 碾压 Redis ?

272 天前
 jgh004

吹的很牛 b, 但它毕竟是 c#写的,能干过 Redis 么?

附上项目地址 https://github.com/microsoft/garnet

10576 次点击
所在节点    程序员
72 条回复
hez2010
272 天前
@KAMx 他们做的时候就是挑着自己需要用的命令优先做的,满足了需求就上生产了。
其实就算是用 redis 也不见得所有命令都会用得到。
agagega
272 天前
都是做技术的,说话别整营销号那一套,比如什么碾压、吊打,还有唯语言论,最经典的比如用 Rust 写的就一定牛逼
gav1nwwk
271 天前
@hez2010 这么说 Azure 团队还是有可能长期维护的
codegenerator
271 天前
@me1onsoda win 上有 iocp ,io 上应该不输,主要还是看 gc 这部分
dif
271 天前
多一个竞品挺好,面试题又多了几道。
billzhuang
271 天前
公司使用 windows server ,但还是可以搞几台 linux 装 redis 的吧
cnleon
271 天前
它的 benchmark 是 72 vcpus, 144 GiB memory 。 这个比试不大公平啊
mayli
271 天前
@Trim21 并没有
KiraMaple
267 天前
@luzemin #23 只要把语言当成工具就可以了。就像 garnet 内存管理直接使用 unsafe 指针管理内存大大降低 GC 带来的影响,写 NodeJS 也可以用 napi 把 CPU 密集型的运算用 C++代码或库负责,现在很多 CPU 密集型运算的库最终就是调用的 C++代码。
hez2010
267 天前
简单在我自己的电脑上跑了一下 memtier_benchmark:
memtier_benchmark -t 4 -c 50 --pipeline=1024 -n 1000000

Redis:

ALL STATS
============================================================================================================================
Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec
----------------------------------------------------------------------------------------------------------------------------
Sets 408346.45 --- --- 46.40698 42.23900 66.04700 70.14300 31458.55
Gets 4083419.55 18668.12 4064751.43 46.35596 42.23900 66.04700 70.14300 159685.06
Waits 0.00 --- --- --- --- --- --- ---
Totals 4491766.00 18668.12 4064751.43 46.36059 42.23900 66.04700 70.14300 191143.62

Garnet:

ALL STATS
============================================================================================================================
Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec
----------------------------------------------------------------------------------------------------------------------------
Sets 1009126.20 --- --- 18.53643 17.79100 29.69500 35.58300 77741.95
Gets 10091151.04 91566.19 9999584.85 18.51609 17.79100 29.69500 35.58300 396130.24
Waits 0.00 --- --- --- --- --- --- ---
Totals 11100277.24 91566.19 9999584.85 18.51794 17.79100 29.69500 35.58300 473872.19

确实 Garnet 无论是吞吐量还是延时都碾压了 Redis 。

哪怕设置 --pipeline=1 让 benchmark 跑完一个请求之后再发下一个请求的这种利好 redis 的单线程测试场景,garnet 一样跑出了比 redis 更好的成绩。
viitgenstand
265 天前
garnet 可以直接使用现有的 redis 客户端管理工具连接,使用起来应该还是挺方便的,就看性能和稳定性了
sky96111
264 天前
@idealhs #39 你猜有几个 C#(

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX