暂停资本公积可以减少吗缓冲吗

百度经验——实用生活指南
红红火火,来年一切红火兴旺
小东西也有大用处
红红火火,来年一切红火兴旺
小东西也有大用处
过了腊八就是年,腊八蒜来一口
有暖气的地方养水仙,再适合不过
美丽不能拿健康来换
一秒变清新,你值得拥有
上帝把她给我吧
识别假盐,让生活更健康
chaplinlong
上帝把她给我吧
孔雀开屏,带孩子一起diy
度娘菜园和厨房
度娘菜园和厨房
摄影细节,为你的宝贝加分
来来去去的龙猫
阿兹猫cecilia
时尚新锋思晨
新手上路,更要考虑汽车功能
名字取长才霸气
haiguifurong1
7大问题,hold住面试
避免电脑突然罢工,日常保养不能少
分享学习交流
经济适用_00什么是缓冲区_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
6页免费6页免费51页免费4页免费34页免费33页免费10页免费5页免费2页免费3页免费
喜欢此文档的还喜欢8页免费24页1下载券4页7下载券16页1下载券71页免费
什么是缓冲区|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢Twitter:使用Netty 4来减少GC开销
在twitter,需要网络功能的核心模块使用的都是Netty。
是我们的协议无关的RPC系统,它的传输层是在Netty之上构建的,许多内部的服务都是通过它来实现的,比如说搜索服务。
TFE(Twitter Front End,Twitter前端)是我们专门的填鸭式反向代理,它使用Netty支撑了大部分面向公众的HTTP及SPDY的流量。
每个月都通过Netty向世界各地的数百个移动运营商发送数十亿的短消息。
可能有的人还没听说过Netty,它是一款开源的Java NIO框架,能让你更容易编写出高性能的网络服务器。前一个版本的Netty 3使用Java对象来表示IO事件。这样做比较简单,但会产生大量的垃圾,尤其是在我们这种规模下。最新的版本Netty 4中做了一些改进,短生命周期的事件对象已经不复存在了,而是通过生命周期较长的管道对象来处理IO事件。 同时还有一个专门的缓冲区分配器,它使用缓冲区池来进行实现。
我们非常关注Netty项目的性能,可用性以及可持续性,也和Netty社区紧密合作以便全方位的对它进行完善。这里我们特别会提到的是,我们是如何使用Netty 3的,以及项目移植到Netty 4后带来的性能提升。
减少GC压力以及内存带宽的开销
Netty 3存在一个问题是,它依赖于JVM的内存管理来进行缓冲区的分配。只要有接收到新的消息或者是用户要发送远程消息,Netty 3就会在堆里分配一个缓冲区。也就是说每分配一个缓冲区就有一次new byte[capacity]操作。这些缓冲区给GC带来了压力,并且吞噬着内存的带宽:分配一个新的缓冲区,为了安全性需要给数组填0,而这会消耗内存带宽。然而填0的字节数组一般都会被真实的数据所填充,这同样也会消耗内存带宽。如果JVM可以提供一种方式来创建无需填充0的字节数组的话,就可以省掉50%的带宽了,不过现在还没有这样的办法。
为了解决这个问题,我们在Netty 4中做了如下的改进。
去除事件对象
Netty 4使用不同的方法来处理不同类型的事件,而不是直接创建事件对象。在Netty 3中,使用一个单独的方法来处理所有的事件对象。
class Before implements ChannelUpstreamHandler {
void handleUpstream(ctx, ChannelEvent e) {
if (e instanceof MessageEvent) { ... }
else if (e instanceof ChannelStateEvent) { ... }
而Netty 4会为每种事件类型分配一个处理方法:
class After implements ChannelInboundHandler {
void channelActive(ctx) { ... }
void channelInactive(ctx) { ... }
void channelRead(ctx, msg) { ... }
void userEventTriggered(ctx, evt) { ... }
注意,这个handler还有一个‘userEventTriggered’方法,也就是说还可以通过它来创建一个自定义的事件对象。
Netty 4引入了一个新的接口,’ByteBufAllocator。它通过这个接口提供了一个缓冲池的实现,这是jemalloc的一个纯Java的实现版本,它提供了伙伴分配器以及SLAB分配器的实现。
既然Netty已经有了自己的缓冲区内存分配器,就不会再因为给缓冲区填0而造成内存带宽的浪费了。然而,这种方式又带来了另一件麻烦事——引用计数。因为我们不再依赖GC来将不用的缓冲区放回池里,我们得自己去注意内存泄露的问题。哪怕只有一个handler忘了释放缓冲区都会导致整个服务器的内存使用率无限制的增长。
这么大的改动值得吗?
由于以上的这些改动,因此Netty 4不再向下兼容Netty
3。这也意味着我们用Netty 3构建的项目,必须花上相当一段时间来进行迁移。这样做值得吗?
我们比较了两个echo协议的服务器,分别用Netty 3和Netty 4进行开发(echo协议非 简单,因此如果产生了任何垃圾,那肯定是Netty造成的,而和协议无关)。我用分布式的echo协议客户端对它们进行访问,有16384个并发的连接,同时在不停地发送256字节的随机负荷包,几乎能让千兆以太网满负载地工作。
从我们的测试结果来看,Netty 4:
GC暂停的频率低了5倍:45.5 vs. 9.2 times/min
产生垃圾的速度也降低了5倍:207.11 vs 41.81 MiB/s
我还想确认下缓冲区池的性能是不是也足够快。下图的X轴和Y轴分别代表的是每次分配的缓冲区的大小以及分配缓冲所需要的时间。
可以看到,随着缓冲区大小的增加,缓冲池的性能要比JVM更好。DirectBuffer的效果则更明显。然而,对于小的缓冲区而言,性能和JVM相比没有太大优势。这块我们还有不少工作要做。
尽管我们有些服务已经成功地迁移到Netty 4上了,但迁移是逐步来进行的,在这个过程中我们发现了一些问题,这阻碍了我们的迁移进度,希望在不久的将来这些问题能够得到解决:
缓冲区泄露: Netty有一个简单的缓冲泄露报告机制,不过它提供的信息不够详细,难以迅速定位问题。
核心功能足够简单:Netty是一个社区驱动的开源项目,因此核心功能越简单对使用者来说更好。而那些非核心的特性往往导致核心功能发生改动,这导致了Netty的核心功能的不稳定性。我们希望只有真正核心的特性才能留在核心库中,别的东西都通通闪开。
同时我们还希望能够加入以下的新特性:
HTTP/2的实现
客户端HTTP和socks代理的支持
异步DNS解析
Linux的本地扩展,这样可以直接通过JNI使用epoll
对连接划分优先级,确保严格的响应时间
Netty有意思的一点就是来自全世界的不同的人,不同的公司都在使用它,而不仅仅是twiiter。它是一个独立地健康发展的开源项目,有许多的贡献者。如果你也对构建“未来的网络编程”兴趣的话,为什么不访问下项目的主页,关注@netty_project,打开GitHub上的源代码,甚至考虑下参与到改进Netty的工作中来呢?
Netty项目的创始人Trustin Lee,也在2011年加入我们,一起来进行Netty 4的完善工作。我们还要感谢来自TFE团队的Jeff Pinner,文中很多不错的想法都是他提出来的,并且他毫不犹豫的充当了我们的小白鼠。同样要感谢的还有,Norman Maurer,他是Netty代码的核心提交者之一,为了帮助我们把这些想法付诸实践,他付出了很多的努力 。还有许多人,他们积极体验了各种不稳定的版本,帮助我们试验了每一个改动的功能,这里没办法一一列举,里面特别要感谢的有:Berk Demir (@bd), Charles Yang (@cmyang), Evan Meagher (@evanm), Larry Hosken (@lahosken), Sonja Keserovic (@thesonjake), 以及Stu Hood (@stuhood)。
原创文章转载请注明出处:
相关文章:
花名有孚,支付宝工程师有希望加入支付宝的同学,可以把简历发到我的个人邮箱16天17小时前发布
还可以输入150字
标题已超出10个字
您发布过于频繁,请2分钟后重新发布
登录后才可以发表评论哦!可以选择
赶紧当第一个评论者吧!
您可能感兴趣的新闻:
24小时挨踢1024 TOP 10
我的复制可以成功---by麻花藤
折花哥你这么屌。那如果以后阿里又涨回来,你的脸会不会又打肿?
我还以为人人影视的新地址…激动了一把
如果一直定位在校内,可能反而不会死……那么快
亚马逊有事就退钱,让你满意为止,很好的用户体验网站!上次在京东购物,个人信息泄漏,差点被电信诈骗,咨询京东,京东一推,跟他们无关,难道是我自己泄漏,让骗子来骗我?
圈完一轮,分身完继续圈
1错的不是我,是那个网站 2我只是疏忽了,没有政治错误 3没错,这地图还有争议,谁知道藏南是不是你们的
名字从校内改成人人,是想从学生变成人人都用,没想到变成了人人都不用东莞市恒泰交通设施公司
生意旺铺网址为:
公司基本信息
东莞市恒泰交通设施公司
所在地区:
法人代表:
公司规模:
成立年份:
经营模式:生产型
联 系 人:
联系电话:
手  机:
联系传真:
电子邮件:
网  址:
联系地址:
东莞市道窖镇昌平
邮政编码:
特点:
专业设计,减速效能显著,且无噪音和不舒适感;
高强橡胶坚固实用,耐压持久;
根据实际要求,快速灵活组合,易于安装;
黑黄相间,无论白天夜...
公路护栏网的网格结构简练、美观实用、便于运输,安装不受地形起伏***,对于山地、坡地、多弯地带适应性特强,具有其他结构隔离栅无法比拟的优点。
a) 白色虚线 划于路段中时,用以分隔同向行驶的交通流或作为行车安全距离识别线;划于路口时,用以引导车辆行进。
b) 白色实线 划于路段中时,用以分...
本厂订做小区监控杆,道路监控杆,八角监控杆,交通信号杆,龙门架。
规格:3米-10米的变径杆,等径杆,锥形杆。
适用范围:商业步行街,道路,机场,...
广东专业波纹护栏板厂家
手机:
QQ:
Email:
官网:
1.惠州高速公路、一、二级公路和城市快速路、主干路应按本标准规定设置反光交通标线。其他道路可根据需要按本标准设置标线。
2.惠州道路交通标线按设...
a) 白色虚线 划于路段中时,用以分隔同向行驶的交通流或作为行车安全距离识别线;划于路口时,用以引导车辆行进。
b) 白色实线 划于路段中时,用以分...
粘合剂涂敷在施工区域的表面。施工时,路表温度应持续在5°C或5°C以上。热固性粘合剂通过热量固化。固化过程中,过热(如高温久曝)或加速剂/催化剂...
道路划线分为:热熔标线,常温冷漆标线,彩色防滑标线,振荡防滑反光标线和预成型标线。
道路标线分为:热熔标线,常温冷漆标线,彩色防滑标线,振荡...
东莞市恒泰交通设施有限公司专业承接各类交通设施工程:高速公路标线,交通标牌,交通信号灯,道路标线,道路指示牌,公路护栏,龙门架,停车场设施,交...
共有10条记录,1页,显示1--10
&生意宝(002095) 版权所有&&}

我要回帖

更多关于 电信宽带可以暂停吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信