写点什么

Ruby 的 Net::HTTP 怎么了?

  • 2008-11-17
  • 本文字数:457 字

    阅读完需:约 1 分钟

有人可能会问:“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 的邮件列表中就有人在讨论该问题,同时提出了该问题的解决方案。此外,这也证明开源对于我们的帮助和价值是多么大啊。

查看英文原文: What Is Wrong With Ruby’s Net::HTTP?

2008-11-17 09:46972
用户头像

发布了 88 篇内容, 共 263.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Web前端开发最好用的几个WebGL框架

2D3D前端可视化开发

JavaScript 前端开发 WebGL webgl框架

热点面试题: 常用位运算方法

Immerse

JavaScript 前端面试题 #热点问题 前端javascript

Migrate your data into databend with DataX

Databend

软件测试 | Capability使用进阶

测吧(北京)科技有限公司

测试

测试开发之路--UI 自动化设计军规

霍格沃兹测试开发学社

使用大恒USB工业相机PythonSDK进行逐帧率图片采集

Python 数据采集 摄像头 大恒SDK

虚幻引擎UE4如何实现打包后播放片头?其实超简单!

3DCAT实时渲染

虚幻引擎 ue

房产|1月全国70城房价出炉!疫情放开后你关心的城市房价有何变化

前嗅大数据

大数据 数据分析 房产

今年很火的AI绘画怎么玩

得物技术

UI 自动化中的分层设计

霍格沃兹测试开发学社

大数据培训需要注意哪些方面

小谷哥

IDC发布《2022中国大模型发展白皮书》,文心大模型能力全面领先

飞桨PaddlePaddle

大模型 文心

【Unity 3D游戏开发】在Unity使用NoSQL数据库方法介绍

3DCAT实时渲染

Unity Unity3D 游戏开发引擎

多云和混合云场景下的 API 管理:挑战与选择

API7.ai 技术团队

api 网关 APISIX

Teambition一款团队项目协作工具

爱吃小舅的鱼

项目管理软件 Teambitiom

一款好的低代码开发平台应该是什么样?

YonBuilder低代码开发平台

测试开发之路--UI 自动化常用设计模式 (二)

霍格沃兹测试开发学社

Tapdata Connector 实用指南:数据入仓场景之数据实时同步到 BigQuery

tapdata

避坑指南|监控宝网站监控的常见问题及解决方法

云智慧AIOps社区

监控 告警 监控宝 监控告警 监控指标

Python+Opencv读取高帧率USB摄像头问题

Python 数据读取 摄像头

Python获取磁盘、文件夹大小信息(附邮件发送)(二)

Python 文件夹数据获取

参加java培训学习怎么样

小谷哥

接口调试时如何请求一个需要登录才能访问的接口

代码没有BUG

接口调试 API测试 apipost

软件测试 | 参数化测试用例的使用

测吧(北京)科技有限公司

测试

关于工具软件:Apipost和Apifox哪个更好用看这篇就够了

代码没有BUG

Apifox 接口调试 API测试 apipost

实力见“证”:Tapdata 技术创新与发展潜力广受认可

tapdata

Python获取磁盘、文件夹大小信息(一)

Python 文件夹数据获取

渲染农场优势是什么_云渲染农场怎么用?

Renderbus瑞云渲染农场

云渲染 云渲染农场 Renderbus云渲染农场

软件测试 | 属性获取与断言

测吧(北京)科技有限公司

测试

零基础学习前端培训需要多久

小谷哥

测试开发之路--UI 自动化常用设计模式

霍格沃兹测试开发学社

Ruby的Net::HTTP怎么了?_Ruby_Mirko Stocker_InfoQ精选文章