Questions tagged «redis»

Redis是一个开源的,高度可扩展的键值存储,通常称为“ NoSQL数据库”。

3
SElinux:允许httpd连接到特定端口
我的系统正在使用apache2.2.15运行CentOS 6.4。SElinux正在执行,我正在尝试通过python / wsgi应用连接到Redis的本地实例。我收到错误13,权限被拒绝。我可以通过以下命令解决此问题: setsebool -P httpd_can_network_connect 但是,我并不完全希望httpd能够连接到所有tcp端口。如何指定允许httpd连接到哪些端口/网络?如果我可以制作一个模块来允许httpd连接到端口6379(redis)或127.0.0.1上的任何tcp,那将是更好的选择。不知道为什么我的妄想症在这方面如此强烈,但是嘿... 有人知道吗

4
Redis(错误)NOAUTH需要身份验证
我得到错误: (error) NOAUTH Authentication required. 进入redis-cli并尝试显示时KEYS *。我只设置了一个requirepass非authfaiac。我在,redis.conf但不知道该怎么办。
29 redis 

1
Redis群集:(错误)已移动
我有一个具有以下节点的Redis集群: 192.168.0.14:6379 master (slots from 0 to 16383) 192.168.0.15:6379 slave (slots from 0 to 16383) 192.168.0.16:6379 master (without slots) 文档说,任何节点都可以将查询重定向到正确的节点。但是我无法从192.168.0.16:6379主节点重定向请求。这是我尝试过的: 192.168.0.16:6379> set myKey myValue (error) MOVED 16281 192.168.0.14:6379 192.168.0.16:6379> get myKey (error) MOVED 16281 192.168.0.14:6379 它既不写入也不读取。当我尝试从192.168.0.14:6379获取“ myKey”时,将显示以下内容: 127.0.0.1:6379> get myKey (nil) 我的要求出了什么问题?我正在使用Redis服务器3.2.5版

1
扩展Logstash(使用redis / elasticsearch)
在超过12个centos 5.8服务器的群集上,我使用本机logstash托运人部署了logstash,后者将发/var/log/*/*.log回中央Logstash服务器。 我们尝试使用rsyslogd作为托运人,但是由于rsyslogd的ImFile模块中存在错误,如果远程端不响应,则日志会堆积在内存中。 当前,我们使用Redis作为传输机制,因此logstash01已在本地运行redis,这些日志绑定到VLAN的IP。 因此,logstash-shipper在logstash01上发送到redis。logstash01发送给在单独进程中运行的Elasticsearch。 这就是我们所看到的。Elasticsearch有141个被阻止的线程。跟踪elasticsearch父级显示: futex(0x7f4ccd1939d0, FUTEX_WAIT, 26374, NULL 这是来自Elasticsearch的Jstack 这是logstash的jstack 因此,..昨晚,某些Web服务器(日志被logstash拖尾)发疯了,平均负载超过500。 在logstash01上,有这个 Dec 19 00:44:45 logstash01 kernel: [736965.925863] Killed process 23429 (redis-server) total-vm:5493112kB, anon-rss:4248840kB, file-rss:108kB 所以OOM杀手杀死了Redis的服务器,然后指原木堆放在内存里面是已上市的东西..而服务器上莫名其妙意味着阿帕奇获取其短裤的扭曲。(坦率地说,我不确定如何,我只是假设它在拖尾日志)。 这是我关于事件如何发生的理论: 我们的流量高峰。 生成了大量日志。 这些存储在Redis中,因为logstash / elasticsearch似乎每秒只能处理300-400个新事件。 Redis已完全填满,OOM杀手无意识地宰了它。 Redis停止接受新项目。 现在,项目开始在远程主机端堆积。 一切都疯了。Apache停止接受请求。(为什么?)。 问题是: 如果只有日志拖尾,为什么apache会发疯。是因为拖尾的东西阻碍了Apache的写作? 有没有使弹性搜索更快/更好/具有弹性的明智方法? 是否有一种明智的方法可以使Redis具有弹性并且不会因为OOM而死亡 我设置的方式是否存在根本缺陷,还是每个人都有此问题? -编辑- @lusis的一些规格。 admin@log01:/etc/init$ free -m total used …

2
最大化Nginx请求/秒的提示?
我正在构建一个分析程序包,并且项目要求指出我每天需要支持10亿次匹配。是的,“十亿”。换句话说,每秒持续命中不少于12,000次,最好有一定的爆发空间。我知道我将需要多个服务器,但是我试图在“向其添加更多硬件”之前从每个节点中获得最大性能。 现在,我已经完成了点击跟踪部分,并对其进行了优化。我几乎只是将请求直接保存到Redis中(供以后使用Hadoop处理)。该应用程序是Python / Django,带有用于网关的粗话。 我的2GB Ubuntu 10.04 Rackspace服务器(不是生产机器)每秒可以处理约1200个静态文件(使用Apache AB标记为一个静态资产)。相比之下,如果我将静态文件链接替换为跟踪链接,则每秒仍会收到约600个请求-我认为这意味着我的跟踪器已经过优化,因为它仅比提供相同的静态资产慢2倍反复。 但是,当我以数以百万计的点击数作为基准时,我注意到一些事情- 没有磁盘使用-这是预料之中的,因为我已经关闭了所有Nginx日志,并且我的自定义代码除了将请求详细信息保存到Redis之外不执行任何操作。 非恒定内存使用率-大概是由于Redis的内存管理,我的内存使用率将逐渐上升然后回落,但是这从来都不是我的瓶颈。 系统负载徘徊在2-4左右,即使在我最重的基准测试期间,系统仍然可以响应,并且我的(其他)服务器每执行600个请求时,我仍然可以手动查看http://mysite.com/tracking/pixel,几乎看不到延迟。第二。 如果我进行了一次简短的测试,比如说50,000次点击(大约200万次),那么我每秒就会收到600个稳定可靠的请求。如果我运行更长的测试(到目前为止尝试了3.5m),我的r / s会降低到250。 我的问题- 一种。看起来我要用尽这台服务器了吗?1200个/ s静态文件的nginx性能是否可与其他人媲美? b。是否有针对此类高容量应用程序的常见Nginx调整?我将工作线程设置为64,将gunicorn工作线程设置为8,但是调整这些值似乎对我没有多大帮助或伤害。 C。是否有任何Linux级别的设置可能会限制我的传入连接? d。在长时间运行的测试中,什么会导致我的性能下降到250r / s?同样,在这些测试过程中内存没有达到极限,并且HDD的使用为零。 在此先感谢,所有:) 编辑 这是我的nginx配置-http: //pastie.org/1450749-它主要是香草,有明显的脂肪被修剪掉。

2
避免在ElastiCache Redis上交换
我们的ElastiCache Redis实例交换一直遇到麻烦。亚马逊似乎已经进行了一些粗略的内部监控,这些监控注意到交换使用量激增,并只是重新启动了ElastiCache实例(从而丢失了所有缓存的项目)。这是过去14天中我们的ElastiCache实例上BytesUsedForCache(蓝线)和SwapUsage(橙线)的图表: 您可以看到交换使用量增加的模式似乎触发了我们的ElastiCache实例的重新启动,其中我们丢失了所有缓存的项目(BytesUsedForCache降至0)。 我们的ElastiCache仪表板的“缓存事件”选项卡具有相应的条目: 源ID | 类型 日期 事件 缓存实例ID | 缓存集群| 2015年9月22日星期二07:34:47 GMT-400 | 缓存节点0001重新启动 缓存实例ID | 缓存集群| 2015年9月22日星期二07:34:42 GMT-400 | 重新启动节点0001上的缓存引擎时出错 缓存实例ID | 缓存集群| 2015年9月20日,星期日11:13:05 GMT-400 | 缓存节点0001重新启动 缓存实例ID | 缓存集群| 2015年9月17日星期四22:59:50 GMT-400 | 缓存节点0001重新启动 缓存实例ID | 缓存集群| 2015年9月16日星期三10:36:52 GMT-400 | 缓存节点0001重新启动 缓存实例ID | 缓存集群| 2015年9月15日星期二05:02:35 GMT-400 | …

3
Redis加载大数据集时,某些Linux系统变得非常慢
我收到了来自Redis用户的报告,由于我不是Linux及其调度程序领域的专家,所以我不确定要回答什么,但是我们(作为Redis项目)需要特别解决这类问题将来,与Redis Cluster一样,我们将在一个盒子中同时运行许多Redis实例。所以我想在这里寻求帮助。 问题: 内核:“ Linux redis1 2.6.32-305-ec2#9-Ubuntu SMP Thu Apr 15 08:05:38 UTC 2010 x86_64 GNU / Linux” 大量的可用RAM,没有其他进程执行重要的I / O。 重要提示,请在EC2大实例上运行,而不要在真实服务器上运行。我从未在非虚拟化环境中看到过类似的东西。EC2实例为:“高内存超大型实例17.1 GB内存,6.5 ECU(2个虚拟核,每个虚拟核具有3.25个EC2计算单元),420 GB本地实例存储,64位平台”。 基本上,一旦重新启动大型Redis实例,系统将变得非常缓慢,无法再在Shell上键入内容。当Redis加载实例时,它将使用100%的CPU(它会尽快加载数据)并顺序读取dump.rdb文件。I / O并不是特别高,因为加载受CPU约束,而不是I / O约束。 为什么在地上有两个CPU和大量RAM的盒子,磁盘上没有可交换的东西,应该基本上停止使用此工作负载? 我觉得这与EC2实例有很大关系,这与所使用的虚拟化技术有关,因为我一直将Redis 24 GB数据集加载到我的盒子中而没有任何问题(即使是Redis的其他实例)高负载运行)。 感谢您的提示! 救世主 编辑:添加一些我从Twitter收到的反馈: 来自@ezmobius:@antirez首先要做的是从/ mnt或本地临时驱动器中进行尝试,以查看其EBS脆弱性,第二是确保其不是“首次写罚”(用谷歌搜索),如果是,那么您需要先在磁盘上dd 0。 来自@dvirsky:@antirez我正好在这样的ec2节点上运行许多redis实例。我注意到bgsave的速度有所下降,但没有出现这种现象。

1
为什么systemctl无法在CentOS 7上启动Redis服务器?
我已经在新的CentOS 7机器上安装了Redis,但是无法使用systemctl启动它。 它是这样安装的: rpm -i http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm yum install redis 试图像这样尝试启动它似乎失败了(没有输出): systemctl start redis-server # also tried redis-server.service 尝试连接时会发生以下情况: redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> 但是手动启动它可以: [root@redis ~]# redis-server /etc/redis.conf [root@redis ~]# redis-cli 127.0.0.1:6379> 任何人都知道怎么回事,或者如何调试呢? 更新:的输出/var/log/redis/redis.log如下。顺便说一下,这是512mb RAM VPS。 [1972] 29 Jul 18:52:16.258 # You requested …

3
node.js,mongodb,redis,ubuntu生产性能下降,RAM可用,CPU 100%
正如问题标题所暗示的那样,我很难确定可以对我的应用程序进行哪些改进(或在os,ubuntu中进行了调整)以达到可接受的性能。但首先,我将解释该体系结构: 前端服务器是一台8核机器,具有8 gigs RAM,运行Ubuntu 12.04。该应用程序完全用javascript编写,并在node.js v 0.8.22中运行(由于某些模块似乎抱怨较新版本的节点),我使用nginx 1.4代理来自端口80和443的HTTP流量到受管理的8个节点工作程序并开始使用节点集群api。我使用最新版本的socket.io 0.9.14来处理websocket连接,在该连接上,我仅启用了websockets和xhr-polling作为可用传输。在这台机器上,我还运行了Redis(2.2)的实例。 我将持久数据(例如用户和乐谱)存储在mongodb(3.6)上的第二台服务器上,该服务器具有4gigs RAM和2个内核。 该应用程序已投入生产数月之久(直到一个星期前才在一个盒子上运行),每天约有1.8万用户在使用。除以下一个主要问题外,它始终运行良好:性能下降。使用后,每个进程使用的cpu数量会增加,直到它使worker饱和(不再处理请求)为止。我已经临时解决了它每分钟检查一次每个工作人员使用的cpu的问题,并在达到98%时重新启动它。因此,这里的问题主要是cpu,而不是RAM。自从我更新到socket.io 0.9.14(较早的版本正在泄漏内存)以来,RAM不再是问题,因此我怀疑这是一个内存泄漏问题,尤其是因为现在它是CPU增长相当快的原因(我必须每天重新启动每个工人大约10-12次!)。老实说,正在使用的RAM也在增长,但是非常缓慢,每2-3天使用1个演出,奇怪的是,即使我完全重新启动整个应用程序,它也不会发布。仅当我重新启动服务器后才会释放!我真的不明白... 现在,我发现了nodefly很棒,因此我终于可以看到生产服务器上正在发生的事情,并且从几天开始就在收集数据。如果有人想查看图表,我可以给您访问权限,但是基本上,我可以看到我有80到200个并发连接!我期望node.js处理数千个请求,而不是数百个请求。同样,http流量的平均响应时间在500到1500毫秒之间浮动,我认为这确实很多。同样,在此时有1300位用户在线的时刻,这是“ ss -s”的输出: Total: 5013 (kernel 5533) TCP: 8047 (estab 4788, closed 3097, orphaned 139, synrecv 0, timewait 3097/0), ports 0 Transport Total IP IPv6 * 5533 - - RAW 0 0 0 UDP 0 0 0 …

3
在centos 6.5上安装Redis
我正在尝试使用以下行在centos 6.5(x64)上安装Redis: yum install redis 但我得到以下屏幕: [root@NodeJs ~]# yum install redis Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: nl.mirror.eurid.eu * epel: nl.mirror.eurid.eu * extras: mirror.denit.net * updates: nl.mirror.eurid.eu Resolving Dependencies --> Running transaction check ---> Package redis.x86_64 0:2.8.14-2.el7 will be installed --> …
10 centos  centos6  redis 

2
从Redis 2.8.19升级到3.0.1
我目前已经安装了Redis 2.8.19,但是我希望升级到最新的稳定版本3.0.1。最初,我下载,未压缩并编译2.8.9。如果您以前像我一样进行过编译,从2.8.19升级到3.0.1的推荐方法是什么?我试图在此方面找到资源,但很快就会发现。 提前致谢。
9 redis 

4
为什么即使更新为limits.conf,redis也报告限制为1024个文件?
我在redis.log文件的顶部看到此错误: 当前最大打开文件数为1024。maxclients已减少为4064,以补偿较低的ulimit。 我按照以下步骤进行操作(并重新启动): 而且,我在运行时看到了这一点ulimit: ubuntu@ip-XX-XXX-XXX-XXX:~$ ulimit -n 65535 这个错误似是而非吗?如果没有,我还需要执行其他哪些步骤?我在Ubuntu LTS 14.04.1(同样是树的顶端)上运行redis 2.8.13(树的顶端)。 这是用户信息: ubuntu@ip-XX-XXX-XXX-XXX:~$ ps aux | grep redis root 1027 0.0 0.0 66328 2112 ? Ss 20:30 0:00 sudo -u ubuntu /usr/local/bin/redis-server /etc/redis/redis.conf ubuntu 1107 19.2 48.8 7629152 7531552 ? Sl 20:30 2:21 /usr/local/bin/redis-server *:6379 因此,服务器以ubuntu的身份运行。 这是我的limits.conf文件,不带注释: ubuntu@ip-XX-XXX-XXX-XXX:~$ cat …
9 redis  ulimit 

2
如何禁用Azure Redis缓存?
到目前为止,我一直在尝试使用Azure Redis缓存预览。但是,当我不使用它时,我想禁用它,以使其不占用内存且不可访问。 我不想删除它,因为我不想每次运行测试时都创建一个新实例。但是在门户网站上,没有禁用或停用选项,只能删除。 我已经查看了http://msdn.microsoft.com/zh-cn/library/azure/dn690523.aspx上的文档,但没有找到解决方案。
9 azure  redis 

2
对Redis停顿进行故障排除
我们有几个Redis实例在服务器上运行。也有多个Web层服务器连接到那些同时经历停顿的实例。 当时,我们进行了数据包捕获,根据以下wireshark IO图,发现在TX和RX流量中都出现了停顿现象: Redis调用中有一个相关的峰值,但是我怀疑这是时间的延迟,而不是原因: 以15 / s的采样间隔(作为计数器收集),平均有136个内存分配停顿: 在同一时间迁移的NUMA页似乎也不同寻常: 尽管以上内容看起来很正常,但与图表中其他300个以上的尖峰相比,有两个连续的数据点使其异常。 内存压缩失败和压缩停顿也存在相关峰值: 尽管我在这里拥有大量的内存信息,但是我对Linux的内存知识还不足以真正假设一个好的故事,该故事将所有这些信息结合在一起来解释停顿。具有Linux内存知识(也许还有Redis内存知识)的任何人都可以将其中一些信息结合在一起吗? 我们每隔15秒从/ proc / vmstat收集一次所有统计信息,因此,如果有任何您认为可能会增加的数据,请提出要求。我只是选择了似乎有趣的活动,特别是分配停顿,numa迁移和压缩停顿/失败。随后是总计,涵盖了20天的正常运行时间: [kbrandt@ny-redis01: ~] uptime 21:11:49 up 20 days, 20:05, 8 users, load average: 1.05, 0.74, 0.69 [kbrandt@ny-redis01: ~] cat /proc/vmstat nr_free_pages 105382 nr_alloc_batch 5632 nr_inactive_anon 983455 nr_active_anon 15870487 nr_inactive_file 12904618 nr_active_file 2266184 nr_unevictable 0 nr_mlock 0 …
8 linux  memory  redis 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.