选择正确的 EC2 实例大小

选择正确的 EC2 实例大小

我在 EC2 C1.medium 实例上运行 API 服务器。我们的 API 调用大约需要 3-5 秒才能完成(运行 Python 调用并使用内存消耗很少的 NLTK 调用)。我们已将其配置在 Apache 服务器上,当我们尝试 ab 进行基准测试时,我们几乎可以进行 100 次并发调用。如果将其推至 100 以上,我们会得到apr_poll:指定的超时已过期(70007)或者apr_socket_recv:对端重置连接(104)检查系统负载时,Apache 通常因内存不足而崩溃,但 CPU 负载也一直在 90-100 左右。这是 EC2 C1.medium 实例的绝对极限吗?我们应该转移到更大的实例吗?还是因为 Apache 的调整不当?

答案1

在升级实例类型之前,首先尝试找出哪种资源消耗了如此多的系统资源。例如,在您的案例中,可以调整 TCP/IP 内核参数以承受高带宽。此外,可以优化磁盘以及调整 apache 以获得最佳性能。但在执行所有这些操作之前,请尝试查看您的应用程序,看看它是否确实需要该级别的资源。然后逐一执行其他步骤。最后,采取措施将实例类型从中型升级到大型。通过进行此分析,您还将了解您的应用程序是 CPU 密集型还是内存密集型,因此您可以根据需要选择高 CPU 或高内存实例。

相关内容