栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java I / O与带有Linux NPTL的Java新I / O(NIO)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java I / O与带有Linux NPTL的Java新I / O(NIO)

挑衅性的博客文章 “避免NIO,获得更好的吞吐量”。保罗·泰玛)2008)的博客声称〜5000个线程没有任何麻烦;我听说人们要求更多:

  1. 启用NPTL后,Sun和Blackwidow JVM
    1.4.2可以轻松扩展到5000+线程。阻塞模型始终比使用NIO选择器快25-35%。采用了EmberIO人士建议的许多技术-
    使用多个选择器,如果第一次读取返回Java中等效的EAGAIN,则执行多个(2)读取。但是,我们无法使用Linux NPTL击败每个连接模型的普通线程。


我认为这里的关键是 衡量开销和性能 ,并仅在您知道需要并且可以证明有改善时才转向非阻塞I /
O。编写和维护非阻塞代码的额外工作应纳入您的决定。我的看法是, 如果可以使用同步/阻塞I / O清晰地表达您的应用程序请执行该操作
。如果您的应用程序适合非阻塞I / O,而您不会只是在应用程序空间中严重地重新发明了阻塞I / O,请根据测得的性能需求 考虑使用nio
当我在google结果中四处搜寻时,我感到非常惊讶,实际上很少有资源引用任何(最新)数字

另外,请参阅PaulTyma的演示幻灯片:旧方法又是新方法。根据他在Google的工作,具体数字表明,同步线程I/ O在Linux上具有相当的可扩展性,并且认为“
NIO更快”是一个神话,这种说法已经存在了一段时间了,但是不再是。在“彗星日报”上还有一些不错的评论。他引用了NPTL上的以下结果(传闻,仍然没有到基准的牢固链接,等等…):

在测试中,NPTL在两秒钟内成功启动了IA-32上的100,000个线程。相比之下,在没有NPTL的内核下进行的测试大约需要15分钟

如果你真的遇到了可扩展性问题,可能需要调整线程堆栈大小使用

XX:ThreadStackSize
。由于您提到Tomcat,请参见此处。

最后,如果您被束缚并决心使用非阻塞I /
O,则由知道自己在做什么的人尽一切努力在现有框架上进行构建。我浪费了太多时间来尝试获得正确的非阻塞I
/ O解决方案(由于错误的原因)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号