Tag: 亚马逊 EC2

为在node.js应用上运行的mongodb计算n个连接池所需的内存

我试图剖析当前configuration为使用50个连接池的运行mongodb的node.js应用程序的性能。 使用Blazemeter我一直试图做一个testing,发送1000个模拟用户到我的端点。 运行在一个较小的亚马逊ec2实例(4个CPU和7.5 GB的内存,性能似乎是CPU绑定)。 当我开始向具有至less8个以pm2集群模式运行的CPU的大型机器移动时,似乎mongodb的内存不足。 当testing达到约300-500个模拟用户时,mongo进程将失败: IE我从所有的数据库查询中得到一个错误,当我尝试启动mongo shell时,我看到以下消息: 2015-10-26T23:34:56.657+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2015-10-26T23:34:56.658+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 第一次发生这种情况时,我在mongo日志中也发现了以下错误: exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, […]

在Amazon ECS上的Docker中运行Node API的最佳方式是什么?

随着Docker和Amazon ECS等调度和编排服务的出现,我试图确定部署Node API的最佳方式。 抛开Docker和ECS,我想通过创build一个主进程和多个工作负载处理器,利用Node集群库在文档中build议的asynchronous错误的情况下正常处理崩溃节点应用程序。 集群方法的好处之一就是为每个可用的CPU创build一个工作者处理器。 但是这在docker世界是否有意义呢? 在单个docker容器中运行多个节点进程是否有意义,这个容器将被缩放到ECS上的EC2实例集群中? 如果没有Node集群方法,我将失去正常处理错误的能力,所以我认为至less应该为每个docker容器运行一个master和一个worker进程。 我仍然对ECS的任务定义中要定义的CPU数量感到困惑。 ECS文档中提到了每个CPU有1024个单元的容器实例; 但这与EC2计算单元不是一回事,是吗? 就这样说,我需要select适当数量的vCPU的EC2实例types来实现这个权利? 据我所知,实现最佳configuration可能需要一定程度的基准testing我的特定节点API应用程序,但是如果能够更好地了解从哪里开始,那将是非常棒的。 也许有一些学习/研究我需要做? 任何指引我的path或build议,将不胜感激! 编辑:回顾我的具体问题: 在Docker容器中运行一个主/从集群来实现优雅的崩溃是否合理? 使用与Cluster文档中描述的几乎相同的代码是否有意义,通过require('os').cpus().length来'缩放'到可用的require('os').cpus().length ? 在ECS任务定义的文档中,Amazon对于cpus设置的含义是什么意思,一个container instance has 1024 units per CPU ? 那么这个环境会是一个好的起点呢? 基于上述情况,针对旨在服务Node API的ECS集群,实例types有什么好的起点? 那么可用的vCPU如何影响以前的问题呢?

在EC2中托pipenodejs应用程序

我有兴趣在云中托pipenodejs应用程序,我正在为我的目的寻找免费的云托pipe。 我发现亚马逊有一个,但我有以下问题:有没有关于如何在Amazon EC2中设置和运行nodejs应用程序的教程? 编辑 :你可以提供任何良好的托pipenodejs(heroku除外)?