EC2 Micro Instance只能使用nginx服务器处理多less用户?

我有一个iOS社交应用程序。

这个应用程序与我的服务器进行交谈,经常更新和检索。 大部分小文本为JSON。 有时用户会上传我的web-server上传到S3 Bucketweb-server不会检索任何图片或任何其他types的文件

EC2 Micro Ubuntu 13.04实例运行PHP 5.5PHP-FPMNGINX 。 caching由Elastic Cache使用Redis处理,数据库连接到一个单独的m1.large MongoDB服务器。 内容可以相当dynamic,因为新闻源可以是dynamic的。

我是关于configurationNGINX性能的总新手,我想看看我是否已经正确configuration了我的服务器。

我正在使用Siegetesting我的服务器负载,但是我无法find任何types的统计信息,说明我的系统能够处理多less个并发用户/页面负载,以便我知道我已经做了正确或错误的事情。

我的服务器能够处理多less个并发用户/页面加载?

我猜如果我不能从经验中得出统计数据,那么对我的micro instance应该是简单的,中等的和极端的?

我知道还有其他几个问题提出类似的问题。 但是没有一个提供类似的系统的估计,这是我正在寻找的。

Jonathan指出,我还没有在微型实例上尝试过nginx。 如果你消耗CPU爆裂,你会很难被扼杀,你的应用程序将变得无法使用。

如果你想遵循这个道路,我会建议:

尝试限制nginx和php5-fpm的CPU使用,以确保你不会超过CPU惩罚的阈值。 我不知道这个门槛是什么。 我相信微型实例的主要问题是保持一致的CPU可用性。 如果你超过了你拧的帽子。

尽量使用fastcgi_cache。 只有在真正需要的时候才能打php5-fpm。

请记住,在飞行gzipping将吃cpu的很多。 我的意思是很多CPU(对于几乎没有CPU功率的实例)。 如果你可以使用gzip_static,那就去做吧。 但我相信你不能。

至于统计数据,你需要自己去做。 我有统计数据为m1.small,但没有为微。 首先让nginx提供一个静态html文件,只有很少的kb。 做10个并发用户的攻城测试模式10分钟并测量。 确保你从一台更强大的机器上进行攻击。

siege -b -c10 -t600s'http:// private-ip /test.html'

你可能会看到CPU的油门的影响,只是这样做! 你想要关注的是每秒交易次数和nginx服务的吞吐量。 请记住,m1small max是35mb / s,所以m1.micro会更少。

然后,转到json响应。 尝试gzipping。 看看每秒可以得到多少并发请求。

不要忘记回到这里报告你的数字。

最好的祝福。

微实例是独一无二的,因为它们使用了可破解的配置文件。 虽然在短时间内性能可能会上升两个ECU,但在使用其可分配分配之后,它将被限制在大约0.1或0.2个ECU。 最终分配重置,你可以再次获得2个ECU。

这很大程度上取决于CPU /内存如何影响你的应用程序。 这听起来像你已经很好地优化了。