allenlz
allenlz
BTW, is HBM_DRAM fully implemented in current master? It seems will use LocklessHashMap by default, which is only for cpu.
性能下降的原因是什么?leveldb磁盘操作会导致阻塞,而redis只有单线程的缘故吧? --- 但效率和速度不可同日而语。
个人对leveldb还算比较熟悉。 即使是顺序写,写磁盘操作和内存操作的耗时也不是同一量级。leveldb内部的磁盘操作是没有挂到事件堆里的,如果是单线程,当压力大时(引擎自身的,或者是外界导致磁盘压力大时),必然会阻塞住的,从而导致整体吞吐下降。 即使是主从分离,incr操作也要先读后写吧。 另外,个人认为redis做主、leveldb做从的价值有限,因为整体数据量会受限于主机的总内存大小。并且主从切换会变的很麻烦。 整体的性能有benchmark数据么?
twemproxy is great work, but this issue bothers us. We find a simple way to fix it: https://github.com/allenlz/twemproxy/commit/cb7bbf39ff1a700682e4c3cd0f25008b15dd307d
I update the new fix with a PR #232, which maintains a safe max number for client connections. Any comment is welcome.