有人可能会问:“Ruby 对 Net:HTTP 的实现出什么问题了”?Adam Nelson 对应用传输大量数据时的表现感到很吃惊。“当数据以 1024 字节块的大小被传输时,我看到了 CPU 的红线”,这是 Adam 在其初次分析时所发现的。实际的问题是“Ruby 针对每个单独的rbuf_fill 调用都设置一个超时”, Alex Young 说到,“那么在默认情况下,每接收到 1K 数据,就必须产生一个新的线程”。
针对Ruby 不同的实现和不同的库所进行的一个比较表明Ruby 1.8.6 对CPU 的占有率竟然达到了1.8.7 版的两倍,显然后者使用了更大的缓存(16K)。有趣的是,Ruby 1.9.0 对CPU 的占有率最低,其实现采用了 readpartial :“不对 socket 读取设置超时”,同时“提前为每次读取分配字符串缓存”。紧追其后的是 RFuzz ,这是一个纯粹的 Ruby 实现,基于 Zed Shaw 所编写的 Mongrel 内核。
该问题早就有人提出来了,2006 年的一个关于ruby-talk 的邮件列表中就有人在讨论该问题,同时提出了该问题的解决方案。此外,这也证明开源对于我们的帮助和价值是多么大啊。
更多内容推荐
于我而言,Go 语言是新的 Ruby
Go是Ruby后第二个让我感受到编程乐趣的语言。
欣欣向荣的 Ruby 家族
诞生于1993年的Ruby即将迎来自己的20岁生日,估计松本行弘(Matz)先生20年前也没有想到Ruby能成为一门流行的语言,长期出现在TIOBE编程语言排行榜前20之列,并且有逐步上升之势。Ruby的爱好者遍布世界各地,在中国也有庞大的RubyChina社区。而且,除了Matz的MRI Ruby之外,还诞生了很多与其兼容的Ruby实现,有的旨在提升性能,而有的则是为了充分利用其他平台提供的资源,还出现了专门针对移动设备和嵌入式设备的版本。
8. OpenResty 调优初探
2023-09-26
Iron.io 从 Ruby 迁移到 Go:减少了 28 台服务器并避免了连锁故障
Iron.io用Go重写了IronWorker,服务器数量从30台减少到2台,CPU利用率也下降至5%以下。本文介绍了Go所解决的问题并探讨了该语言的优缺点。
Rubinius 1.0 驾临
无
浅谈 WEBrick 的多线程模型
这篇文章会介绍在开发环境中最常用的应用容器 WEBrick 的实现原理
即将来临的 Rails 4.0 将放弃 Ruby 1.8 支持,改进后台任务、缓存等多项内容
即将来临的Rails 4.0将放弃Ruby 1.8支持,提供了多项新特性。其中最重要的是支持针对mass-assignment的强参数、针对后台任务的新队列以及缓存方面的改进。
Ruby 1.9.3:性能和稳定性提升,改为 BSD 授权许可
Ruby团队日前发布了最新的Ruby 1.9.3版本。本次发布的重点并不是新特性的增加,而是通过提升性能和稳定性的同时,带来一个更好的Ruby 1.9版本。
1. 结果集处理:unsafe 入门
2023-09-26
Shanghai on Rails 举办第 9 次线下活动
5月21日下午Shanghai on Rails举办了第9次线下活动,吸引了长三角地区的众多Ruby爱好者参与。主题演讲涉及了Rails在电子商务领域的应用,以及如何用Rails来开发iOS应用的后端API;还有多位嘉宾就很多不同的话题做了简短的分享。
第二届 RubyConf China 大会顺利结束,Matz 称赞 Ruby 拥有优秀社区
RubyConf China是一年一度的Ruby盛会,第二届RubyConf China大会于6月26日在上海举行。这次有幸邀请到了Ruby之父松本行弘做主题演讲,Yottaa公司的Jared Rosoff、台湾著名Rubyist张文钿以及来自日本的江渡浩一郎等多位国内外知名专家也发表了精彩的演讲。
11. Java 客户端 -Jedis
2023-02-15
Ruby 之父:不要违背开发人员的本能
在 Ruby 3.0 发布后,松本行弘接受了一次专访。在专访中,他介绍了 Ruby 的最新特性以及他改进 Ruby 的方法,并分享了他对 Ruby 未来的见解。
22 个必知编程语言之「Ruby」
Ruby,一种简单快捷的面向对象程序设计的脚本语言,遵守GPL协议和Ruby License。
代码模板(Python、C、Java、JavaScript、Go)
Ruby Enterprise Edition 停止开发,Phusion 专注于 Passenger
Phusion宣布他们基于Ruby 1.8.7的Enterprise Edition(REE)将会停止开发。基于Ruby 1.9版本的不会开发,团队将会专注于Phusion Passenger,它可以在Apache和Nginx上运行Ruby。
为什么我不会在新公司中使用 Rails
从流量来说,在线文档上传及分享社区Scribd是世界第三大Rails站点。Jared Friedman是该公司的联合创始人兼首席执行官。他从2006年就开始使用Rails,Scribd第一个版本是用Rails 0.7编写的。现如今,Rails已经成为美国硅谷创业公司默认的Web应用程序开发框架。但Friedman认为这是个错误,并在近日撰文阐述了这一观点。
11. Session:web.Context 缓存 Session
2023-09-26
1.Go 基本语法和 Web 框架起步
2023-09-25
提高 Ruby on Rails 性能的几种技巧
Ruby on Rails以其高度的易用性和灵活性著称,不过这些优点的背后还存在着性能的隐患。最近,资深Ruby on Rails作家David Berube提供了几个Ruby on Rails性能优化的技巧,对相关开发人员具有一定的借鉴意义。
暂无签名
推荐阅读
Shopify 开源 WebAssembly 工具链 Ruvy
编程语言5、手写框架 v4 面向对象实现
2023-09-28
Android 前景怎么样、是不是要凉了、是不是应该考虑要转行
2021-11-05
9.Nacos Server 处理注册流程
2023-09-29
3、手写 Tomcat 服务器 - 原理分析
2023-09-27
Ruby 到底怎么了?
慢的不是 Ruby,而是你的数据库
数据库
电子书

大厂实战PPT下载
换一换 
牛俊龙 | 蚂蚁集团 技术专家
王辉 | 太平洋保险集团 数智研究院/首席架构师
杨国强 | Google AI Infra 技术专家
推荐阅读
Shopify 开源 WebAssembly 工具链 Ruvy
编程语言5、手写框架 v4 面向对象实现
2023-09-28
Android 前景怎么样、是不是要凉了、是不是应该考虑要转行
2021-11-05
9.Nacos Server 处理注册流程
2023-09-29
3、手写 Tomcat 服务器 - 原理分析
2023-09-27
Ruby 到底怎么了?
慢的不是 Ruby,而是你的数据库
数据库






评论