我在EC2 C1.medium实例上运行一个API服务器。 我们的API调用需要大约3-5秒才能完成(运行一个python调用,并使用less量内存消耗的NLTK调用)。 我们已经在Apache服务器上configuration了它,当我们尝试基准testing时,我们可以创build100个并发呼叫。 如果超过100,我们得到apr_poll:超时指定已经过期(70007)或者apr_socket_recv:连接被同级重置(104)当检查系统负载时,Apache通常崩溃而内存不足,但CPU负载也在一直90-100。 这是EC2 C1.medium实例的绝对限制吗,我们应该移动到更大的实例还是因为对Apache进行了不恰当的调整?
在升级实例types之前,首先尝试找出哪些资源消耗了太多的系统资源。 例如,就你而言,可以调整TCP / IP内核参数以承受高水平的带宽。 此外,磁盘可以优化以及阿帕奇可以优化性能调整。 但是在做完所有这些之前,试着看看你的应用程序,它确实需要这个级别的资源。 然后去其他步骤,一个接一个。 在END中,执行步骤将实例types从介质升级到大型。 通过这样的分析,你也会知道你的应用程序是CPU密集型或内存密集型的,所以你可以根据你的需求selectHigh cpu或High memory instance。