• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 异步非阻塞I/O的运行时间

异步非阻塞I/O的运行时间

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了异步非阻塞,同步异步阻塞非阻塞,nginx 异步非阻塞,异步阻塞,异步阻塞模型等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:异步非阻塞I/O的运行时间
描述:

最近看书有点儿迷惑,还请各位大侠不吝赐教

当某个线程需要很耗时的I/O操作时,就会阻塞然后OS调度其它线程工作,从而提高CPU的利用率。

这个过程我的理解是,I/O操作是独立的DMA芯片在进行磁盘和内存间数据的传输,此时CPU会等着I/O操作的结果,这个过程很费时,如果CPU一直等待I/O的结果就浪费了时间。此时如果让OS调度CPU执行其它线程任务可以节约CPU指令周期,从而提高利用率。我觉得这么解释还是可以理解的。
但是比如说一个以I/O为主的静态文件Web Server,我们假设一次I/O操作的耗时固定为t,每次请求的CPU的逻辑运算时间相对I/O可以忽略,那么对于并发的1000个请求,按上面的理解,需要的总耗时为T = 1000*t,因为毕竟DMA需要一个请求一个请求(串行?)地去完成工作。
不知道这个结论正确吗?但是根据平时来看,处理高并发的静态资源服务器速度很快,似乎并不是在串行地进行I/O,这应该怎么解释呢?
谢谢


解决方案1:

难道服务器不会把文件加载到内存吗,非得每次都去磁盘读吗。

解决方案2:

瓶颈哪会在磁盘呀,你应该动手去申请个阿里云的服务器。学生配置也就9.9/月。
装个nginx,你会发现瓶颈完全在网卡。
敲个top看下到底是怎么回事。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 异步非阻塞I/O的运行时间

相关文章

  • 2017-06-05 如何拦截应用程序和驱动之间的IRP数据包大家都来看看
  • 2017-06-05 如果ip地址为1931132,子网地址为/28,则子网掩码为多少
  • 2017-06-05 如何在Windows驱动里使用API函数
  • 2017-06-05 android底层开发之打开蓝牙
  • 2017-06-05 jenkins日志文件写满占满硬盘
  • 2017-06-05 Vxworks:在tonardo中的targetserver与虚拟机连接不上
  • 2017-06-05 BCD编码二进制与十进制之间的转换
  • 2017-06-05 [求助]一行代码的含义
  • 2017-06-05 VS2003可不可以写驱动程序?
  • 2017-06-05 我的PCI驱动程序执行完DriverEntry后直接进入到DriverUnload了

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Ajax调用lua脚本导致iconv不能正常运行的问题
    • Rxtx支持485吗?
    • 一本kingsoft主编的关于加密狗的老书,谁愿和我分享交流?
    • 求助PC侧的蓝牙开发
    • 彷徨了一个月?
    • mac安装win7MAC里安装openMP不成功
    • ARM存储系统机制
    • lwiptcp并发服务器,seletc连接不稳定,两个客户端同时方式,server收发一段时间后,再也连接不上
    • 无线打印服务器的设计?
    • WDM驱动开发用什么教材好?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有