Jon*_*rft 4 performance benchmarking nginx amazon-ec2 amazon-web-services
我有一个 iOS 社交应用程序。
此应用程序与我的服务器通信以经常进行更新和检索。主要是 JSON 形式的小文本。有时用户会上传图片,web-server
然后我将上传到S3 Bucket
. 不会从文件中检索任何图片或任何其他类型的文件web-server
该EC2 Micro Ubuntu 13.04
实例运行PHP 5.5
,PHP-FPM
和NGINX
。缓存是通过Elastic Cache
使用Redis
和数据库连接到单独的m1.large
MongoDB
服务器来处理的。内容可以相当动态,因为新闻源可以是动态的。
我是配置NGINX
性能方面的新手,我想看看我是否正确配置了我的服务器。
我正在Siege
用来测试我的服务器负载,但我无法找到有关系统应该能够处理多少并发用户/页面负载的任何类型的统计数据,以便我知道我做对了还是做错了。
我的服务器应该能够处理多少并发用户/页面负载?
我想如果我不能从经验中掌握统计数据,对我来说什么应该是简单的、中等的和极端的micro instance
?
我知道还有其他几个问题在问类似的事情。但是没有人为类似的系统提供任何类型的估计,这正是我正在寻找的。
由于 Jonathan 指出的原因,我没有在微实例上尝试 nginx。如果您消耗 cpu 突发,您将受到很大限制,您的应用程序将无法使用。
如果你想走这条路,我建议:
尝试限制 nginx 和 php5-fpm 的 cpu 使用率,以确保您不会超过 cpu 惩罚的门槛。我不知道那个门槛是什么。我认为微实例的主要问题是保持一致的 CPU 可用性。如果你越过盖子,你就被搞砸了。
如果可能,尝试使用 fastcgi_cache。您只想在真正需要时才使用 php5-fpm。
请记住,动态 gzipping 会消耗大量 CPU。我的意思是很多 CPU(例如,几乎没有 CPU 能力)。如果您可以使用 gzip_static,请执行此操作。但我相信你不能。
至于统计,你需要自己做。我有 m1.small 的统计数据,但没有 micro 的统计数据。首先让 nginx 提供一个只有很少 kb 的静态 html 文件。做一个10个并发用户10分钟的攻城基准模式并测量。确保您正在围攻更强大的机器。
围攻 -b -c10 -t600s 'http://private-ip/test.html'
这样做你可能会看到 CPU 节流的效果!您要关注的是每秒事务数以及 nginx 可以提供多少吞吐量。请记住,m1small max 为 35mb/s,因此 m1.micro 会更小。
然后,转到 json 响应。尝试压缩。查看每秒可以获得多少并发请求。
并且不要忘记回到这里并报告您的数字。
此致。
归档时间: |
|
查看次数: |
4202 次 |
最近记录: |