问题标签 [twemproxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
redis - 使用 redis-benchmark 在 Twemproxy 下对 Redis 进行基准测试
我正在尝试使用 Redis 和 Twemproxy 测试一个非常简单的设置,但我找不到让它更快的方法。
我有 2 个以最低配置运行的 redis 服务器:
从源代码编译并在具有所有适当内存和 CPU 的 1 台机器下运行。
如果我在其中一个实例中运行 redis-benchmark,我会得到以下信息:
现在我想在两个实例前面使用 Twemproxy 来分发请求并获得更高的吞吐量(至少这是我所期望的!)。
我对 Twemproxy 使用了以下配置:
我运行胡桃夹子为:
结果非常令人失望:
我试图通过获取 Twemproxy 的统计数据来了解发生了什么:
是否有任何其他基准可以正常工作?还是redis-benchmark
应该工作?
我忘了提到我正在使用 Redis:3.0.6 和 Twemproxy:0.4.1
redis - 我可以使用 twemproxy 通过 redis 队列大小进行负载平衡吗?
根据 redis 队列的大小(每个实例的密钥数量),我可以使用twemproxy作为 redis 实例池的负载均衡器吗?如果 twemproxy 达到其数据库中预先配置的最大密钥数量,是否能够从上游的一个 redis 实例关闭?
如果是这样,我该怎么做(我对 redis 和其他东西很陌生,所以我可能不会从文档中得到这个)?
提前致谢。
redis - Redis 和 twemproxy
我最初在我的本地机器上形成了一个具有 3 个主节点和 3 个从节点的 Redis 集群。
现在我想在 Redis 集群上使用twemproxy,所以我使用了以下几行(见下文)作为我的配置文件,并使用 Redis 集群实现了 twemproxy。
但我面临的问题是,在我发送到的 100 个密钥中,port 22122
只有 30-40 个已在 Redis 集群中注册。
请帮忙!
c# - 无法使用 Stackexchange Redis 从 .Net 调用具有模式的 HSCAN
我正在尝试在 Redis 中运行 HSCAN 命令以仅匹配通过 C# 所需的哈希字段
这就是代码的样子
但是当我在 twemproxy 服务器上运行 HSCAN 命令时,它似乎按预期工作
我错过了什么?
谢谢
redis - twemproxy 可以负载均衡读取请求吗?
我想将 redis 与 master 和 slave 一起使用。即几个碎片。每个分片有一个 master 和几个 slave。
是否可以将 twemproxy 配置为使用 master 写入和 slave 读取?还是所有请求都会交给主人?
php - Twemproxy Lag 强制重启
我们在我们的应用服务器上运行一个 PHP 堆栈,它在本地(通过套接字)使用 twemproxy,为我们的缓存层连接到多个上游 memcached 服务器(EC2 小实例)。
每隔一段时间,我就会从我们的应用程序监视器中收到一条警报,提示页面加载时间需要 > 5 秒。出现这种情况,立竿见影的解决办法是在每台应用服务器上重启twemproxy服务,比较麻烦。
我现在唯一的解决方法是每分钟运行一次并重新启动服务的 crontab,但正如您可以想象的那样,每分钟几秒钟内什么都没有写入,这不是一个理想的永久解决方案。
有没有人遇到过这个?如果是这样,解决方法是什么?我尝试切换到 AWS Elasticache,但它的性能与我们当前的 twemproxy 解决方案不同。
这是我的 twemproxy 配置。
这是 php 层的连接配置:
我们正在运行 0.4.1 twemproxy 和 1.4.25 memcached。
谢谢。
redis - redis中原始和旧conf文件之间的区别
redis 中的原始和旧 conf 文件有什么区别,以及保留在 redis 服务器中的旧文件的位置是什么。
我在 redis 文档中的 config rewrite 命令中读到了这一点。
go - Codis - Redis 集群代理安装
我正在探索一个名为codis的 redis 集群的生产稳定代理。它被认为是 twemproxy 的一个很好的替代品,特别是因为我的需求之一是流水线,而 twemproxy 不提供。
然而,英文文档仍然是 WIP,对 github 问题的回复是普通话。
我正在尝试将其安装在
我已经安装了 go 版本 1.8,我可以看到该文件夹/usr/local/go/bin
。我也将它添加到 PATH 变量中。
但是,在执行命令时go get -u -d github.com/CodisLabs/codis
,我得到以下信息:
redis - 如果服务器有足够的可用内存,为什么 redis 实例会出现内存不足的问题?
Redis 设置和 twemproxy:
我们有六个 Redis(32 位)版本 3.2.3 实例与 Twemproxy 一起在同一台服务器(AWS EC2 实例 r3.xlarge)上运行。它运行顺利,直到几天。个别实例已开始出现 OOM 问题。无法确定内存不足的确切问题。
Redis 配置:
- BG 保存每半小时通过一个脚本为每个实例按顺序触发一次。它在 conf 文件中被关闭。
- 将所有六个 redis 实例的 maxmemory 保持在 3.5 GB。
- 易变 TTL 的驱逐策略
- 到目前为止,每个 redis 实例的峰值使用量在 2.2GB 左右,因此仍未达到 3.5 maxmemory 的限制。
我搜索并修复的内容:
- 最大连接数增加到 65535
- vm.overcommit_memory 为 1(这可能是 OOM 的原因吗?)
- 禁用 THP
- 增加 ulimit
据了解,如果 Redis 需要内存,它应该从缓冲内存中使用它。免费命令的输出:
top 命令的输出:
top 命令输出
Redis 的错误日志:
redis - Twemproxy GEOADD 命令
据我了解,GEOADD
命令/数据结构与使用ZADD
.
当我GEOADD
通过我的twemproxy
服务器运行时,我收到一个错误:
如果我直接向 redis 服务器本身发出命令,它就可以正常工作。有没有办法运行GEOADD
/GEORADIUS
通过twemproxy
?