node.js - 用于 AWS EC2 中的 pubsub 和缓存的 Redis 配置

标签 node.js amazon-ec2 redis node-redis

我在 EC2 上使用 Redis,我的问题是对于一个唯一目的只是 pubsub 和缓存的 redis 实例来说什么是理想的配置?

显然,我可以关闭保存到磁盘,因为我不会保留任何内容,但是具有高内存的小磁盘是否理想?

假设 10 万用户同时订阅了他们自己的 pubsub channel 。 EC2实例之后的EC2实例是否足够:

High-Memory Extra Large Instance

17.1 GiB of memory
6.5 EC2 Compute Units (2 virtual cores with 3.25 EC2 Compute Units each)
420 GB of instance storage
64-bit platform
I/O Performance: Moderate
EBS-Optimized Available: No
API name: m2.xlarge

我很难估计,因为我不知道用什么或如何测量 Redis 中 pubsub 的内存占用量。

最佳答案

redis 中的 pub/sub 是暂时的,不会持久化到磁盘,因此,实际上,您不需要担心持久化 redis。

估计 Redis 内存占用的经验法则应该基于每秒预期的消息数乘以消息的平均大小

这是相当保守的,因为它假设将消息转发给所有订阅者需要一秒钟。

使用上述估算,如果您的 10 万用户中的每一个每秒发送 1 条消息,那么您将能够容纳每条 150kb 的消息。

所以这应该足够了。

关于node.js - 用于 AWS EC2 中的 pubsub 和缓存的 Redis 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15049421/

相关文章:

java - 如何在 Lettuce Redis 客户端库中初始化 MapScanCursor?

.net - 使用 string[] 进行 Hash.Remove 时出现异常

amazon-web-services - SSH - 匹配地址已删除?

amazon-web-services - 设置 Tableau Server 以在 AWS GovCloud 上运行

linux - Laravel 4.2 邮件突然停止在 Amazon ec2 linux 中工作

javascript - 在 node.js 中使用 windows 1252 编码字符串

ruby-on-rails - GitLab CI - Redis::CannotConnectError:在 127.0.0.1:6379 上连接到 Redis 时出错

node.js - Sequelize 迁移 - 添加外键约束问题

node.js - Mongoose save() 方法不写入数据库

javascript - Node 8.6 javascript promise : UnhandledPromiseRejectionWarning