我有两台EC2服务器。 一个是应用程序服务器(提供HTTP / S请求),另一个是“工作人员”服务器处理作业。 我想移动使用Huey(任务队列),它使用Redis作为后端。 我不想让另一台服务器运行Redis,但是我不知道最佳实践是什么 – 我应该在应用程序服务器还是我的工作服务器上运行Redis,为什么?
Redis服务器v2.8.4在Ubuntu 14.04 VPS上运行,具有8 GB RAM和16 GB交换空间(在SSD上)。 不过htop显示, redis本身就占用了22.4 G的内存! 我不认为redis数据库是这么大,为什么它占用这么多的内存? Redis版本: Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9 重新启动redis服务器后 更新 redis-server最终因memeory而崩溃。 Mem和Swp都达到100%,然后redis-server与其他服务一起被杀死。 从dmesg : [165578.047682] Out of memory: Kill process 10155 (redis-server) score 834 or sacrifice child [165578.047896] Killed process 10155 (redis-server) total-vm:31038376kB, anon-rss:5636092kB, file-rss:0kB 我想我们真的应该担心redis的内存使用率会随着时间的推移而boost! 我们如何解决这个问题?
我们的Redis服务器在高负载下performance奇怪。 当调用Time()命令时,偶尔会返回一个空的结果(不是Exception,只是空的结果)。 这是服务器或networking过载时的预期行为吗?
我在Redis遇到问题。 我有3台服务器。 每个服务器有10个Redise在不同的端口上工作。 另外,每个服务器都有一个Sentinel实例。 另外,还有5个应用程序服务器。 每个服务器都有HaProxy,它从池中检查哪个Redis服务器是主服务器,并将stream量redirect到他。 所以,无论哪个服务器是Redis主机,应用程序总是使用127.0.0.1:port。 我有误报的麻烦。 这是我的日志: [37338] 29 Apr 07:51:36.813 # Connection with slave ip1:6388 lost. [37338] 29 Apr 07:51:37.399 # Connection with slave ip3:6388 lost. [7244] 29 Apr 07:51:38.809 * DB saved on disk [7244] 29 Apr 07:51:38.814 * RDB: 35 MB of memory used by copy-on-write [37338] 29 Apr 07:51:38.918 […]
我目前在Rackspace上有4个Web应用程序服务器(在应用程序上运行),位于Load Balancer后面(在Rackspace上)。 在负载均衡器前面。 应用程序本身适度使用caching,所以我知道这可以在很大程度上得到改善。 我目前的架构: RS Load Balancer (SSL Termination) -> 4 Web Servers (Apache) -> MySql 这个设置在我面前已经到位了,现在我有机会清理一些东西,所以我想到了这一点: Varnish -> HAProxy (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql 要么 Varnish -> nginx (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql 或者,在代理之后并在每个Web服务器之前都有更好的清漆: nginx […]
我将使用FreeBSD 10.1来实现邮件网关。 所以,我安装了Postfix,Amavisd,Clamav,Spamassassin,Procmail(用于从maildir过滤垃圾邮件到垃圾邮件文件夹),Bayes with Redis数据库。 我已经configuration他们一起工作。 它可以以root用户身份正常工作。 我的意思是如何为每个用户单独configurationuser_prefs,以便Spamassassin可以根据不同的用户学习。 (例如不同的白名单)。 还将这些用户首选项存储在Redis数据库中。 ps到目前为止,除了官方文档,我还没有在Redis上find一个教程(这没有什么帮助)。 我不清楚每个用户的学习情况。 我真的很感激在这个解释的好教程。 先谢谢你。
我有一个我希望pipe理的AWS ElastiCache Redis集群设置。 由于AWS不允许您在VPC之外访问ElastiCache,因此我已经设置了一个微EC2实例,该实例携带指向此群集的phpRedisAdmin脚本副本。 但是AWS已经禁用了Redis集群上的“CONFIG”命令,所以phpRedisAdmin无法连接和pipe理ElastiCache集群。 我已经尝试了redis浏览器节点包,但它运行在0.0.0.0:4567,我需要在这个实例上的公共IP来pipe理Redis群集。 任何build议?
我最近有一个数据丢失,由于一个非function的bgsave /保存(它挂断给我总是“错误背景保存已经在进行中”的错误信息) 这是redis info命令的服务器部分: # Server redis_version:2.8.19 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:9968db13395be4aa redis_mode:standalone os:Windows arch_bits:64 multiplexing_api:winsock_IOCP gcc_version:0.0.0 process_id:5968 run_id:3cf27bdbead6bc8d37d9eb8e0de5eb7898b72ede tcp_port:6379 uptime_in_seconds:883 uptime_in_days:0 hz:10 lru_clock:11936623 config_file:C:\Program Files\Redis\redis_store.conf 这些是我的快照设置: save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename store.rdb dir ./ 该服务器也以主angular色工作。 (不知道这是否相关 – 但是:当bgsave挂起时,复制似乎停止了) 我正在运行Redis作为服务。 似乎问题最近发生时服务崩溃了(对我来说)不明原因: 我有自动恢复function处于活动状态(在崩溃后自动重新启动服务)。 从那个时间点redis停止快照(我可以看到这种forms的备份文件的时间戳)。 我的问题是: 有没有人在Windows上遇到过Redis崩溃? 如果是这样,可能是什么原因(除了硬件限制 […]
我已经使用Kraken编写了一个应用程序,并在OpenShift中部署了自动缩放选项(使用HAProxy),但是这导致了两个问题: 1)HAProxy不断发送请求到应用程序,这导致一个星期有〜485k会话存储在我的redis。 2)由于每次我尝试查看我的日志(使用:RHC taill myapp)时,HAProxy都有不断的请求,所以我的logging器显示出很多这些请求对我来说是无用的。 有没有什么办法解决这一问题
尽pipe我们的保存操作被设置为每15分钟发生一次,但我们仍然看到来自redis服务器的IO负载。 工作量是一个“整页caching”; 我们存储压缩的HTML blob。 如果需要的话,HTML可以重新创build,因此我们不需要最新的备份/持久性。 服务器规格: 2x Hex Core Intel Xeon E5-2640 2.5GHz 128GB RAM 2x 400GB Intel SSDs in RAID 1 IO: # pidstat -d | grep redis 05:01:35 PM PID kB_rd/s kB_wr/s kB_ccwr/s Command 05:01:35 PM 23450 0.01 3981.60 0.00 redis-server redis保存configuration: redis 127.0.0.1:6379> config get save 1) "save" 2) "900 10000" redis […]