Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在负载测试期间,Unicorn CPU使用率飙升,优化方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对如何优化我的 Ruby on Rails 3.1.3应用程序的Unicorn设置感兴趣.我目前正在高CPU超大型实例上生成14个工作进程,因为我的应用程序似乎在负载测试期间受CPU限制.在模拟负载测试中,每秒大约20个请求重放请求,我的实例上的所有8个核心都达到峰值,并且盒子负载峰​​值达到7-8.每个独角兽实例使用大约56-60%的CPU.

我很好奇我有什么方法可以优化它?我希望能够将每秒更多的请求汇集到这个大小的实例上.与所有其他I / O一样,内存完全正常.在测试期间,CPU正在变得瘫痪.

解决方法

如果您是CPU绑定的,那么您希望不再使用独角兽进程,否则会使系统过载并降低调度程序的速度.您可以使用ab在开发框上测试它.你会注意到2个独角兽将胜过20(数量取决于核心,但概念将成立).

此规则的例外情况是您的IO绑定.在这种情况下,添加尽可能多的内存可以容纳的独角兽.

一个很好的性能技巧是将IO绑定请求路由到托管许多独角兽的不同应用服务器.例如,如果您有一个使用慢速SQL查询的请求,或者您正在等待外部请求,例如信用卡交易.如果使用Nginx,请为IO绑定请求定义上游服务器,将这些URL转发到包含40个独立单元的框. CPU绑定或非常快速的请求,转发到一个有8个独角兽的盒子(你说你有8个核心,但在aws上你可能想要尝试4-6,因为他们的调度程序被监控并且已经非常繁忙).

此外,我不确定你是否可以指望aws为你提供可靠的CPU使用率,因为你获得了一个不明显百分比的百分比.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 在负载测试期间,Unicorn CPU使用率飙升,优化方法全部内容,希望文章能够帮你解决ruby-on-rails – 在负载测试期间,Unicorn CPU使用率飙升,优化方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。