当前位置: 首页 > news >正文

哪家网站建设服务好seogw

哪家网站建设服务好,seogw,企业网站开发与管理,腾讯云服务器搭建WordPress基于异步IO的io_uring 1. io_uring的实现原理 io_uring使用了一种异步IO机制,它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信,用户只需将IO请求放入提交队列,当内核完成IO请求时,会将结果放入完成队列&…

基于异步IO的io_uring

1. io_uring的实现原理

io_uring使用了一种异步IO机制,它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信,用户只需将IO请求放入提交队列,当内核完成IO请求时,会将结果放入完成队列,然后用户从完成队列中提取结果并进行后序处理。

io_uring中的两个队列是映射到用户态的共享内存区域,用户态和内核态可以直接通过这个区域交换数据,减少了系统调用上下文切换。用户也可以一次性提交多个IO请求,减少了系统调用次数。

io_uring在内核中有专门的work线程来处理用户请求,完成IO操作,并且worker线程数量也是内核根据cpu核心数和负载情况自己调节的。

io_uring的优点:

  1. 高并发,通过异步IO机制,一个线程能够同时进行大量的IO处理,不会产生阻塞。
  2. 高性能低延迟,读写操作在内核态完成,并且IO请求和IO结果都是通过共享内存来传递的,减少了系统调用和上下文切换次数。

2. liburing的使用流程

2.1 多线程设计

  1. 每个线程一个io_uring–> 不用考虑同步,但是浪费资源
  2. 一个io_uring线程加一个线程池处理任务 --> 需要考虑同步问题
  3. 多个线程使用一个io_uring,同样需要考虑同步问题

2.2 流程

  1. 创建 io_uring 实例

    int ret = io_uring_queue_init(32, &ring, 0);  // 初始化 io_uring 实例,队列深度为 32
    
  2. 填充IO请求

    sqe = io_uring_get_sqe(&ring);  // 获取一个提交队列入口io_uring_prep_write(sqe, fd, buf, strlen(buf), 0);  // 写入文件
    io_uring_prep_read(sqe, fd, buf, sizeof(buf), 0);  // 异步读取文件
    
  3. 提交IO请求

    int submitted = io_uring_submit(&ring);  // 提交请求到内核
    
  4. 等待IO请求完成

    int ret = io_uring_wait_cqe(&ring, &cqe);  // 等待完成队列中的一个请求完成
    io_uring_cqe_seen(&ring, cqe);  // 告诉 io_uring 已经处理完该完成队列入口
    
  5. 清理资源

    io_uring_cqe_seen(&ring, cqe);  // 告诉 io_uring 已经处理完该完成队列入口
    

3. proactor网络模型

proactor网络模型是一种异步IO事件驱动的模型,它向内核提交IO请求,然后等待内核完成IO操作后,再提取结果。它与reactor一样都是高性能、高并发的网络模型,与reactor的区别在于,IO事件的处理是在内核态完成的,用户直接获取IO操作的结果。

Proactor 模式的关键思想是将 I/O 操作的处理责任交给操作系统,应用程序只负责发起请求和处理回调。

proactor的优点

  1. 高性能的异步IO,IO操作在内核态完成,内核完成后将结果通知用户,因此能够减少系统调用和上下文切换,提高性能。
  2. 高并发,和reactor一样,都能够用一个线程同时处理大量连接的IO请求,只不过reactor依靠的是IO多路复用机制,而proactor依赖的异步IO。
  3. 线程复用性,和reactor一样,proactor也可以减少线程的切换、创建、销毁的开销,节约线程资源,程序的局部性更好,对缓存更友好。

4. proactor模式的使用场景

  • 高性能、高并发、内核5.1以上

4.1 reactor对比proactor

  1. IO事件处理上reactor在用户态处理IO操作,用户需要注册事件、等待事件发生,然后在用户态调用IO操作;而proactor模式在内核处理IO操作,用户只需提交异步IO请求,然后等待和获取IO操作的结果,内核态的worker线程会进行实际的IO操作。
  2. 性能上:由于proactor模式由内核来负责处理IO操作,减少了系统调用和上下文切换次数,性能较强。经过实测,在echo回声应用上测试16、64、512、1024长度消息,proactor的性能平均要比epoll高10%左右。

文章转载自:
http://goethean.kryr.cn
http://milliammeter.kryr.cn
http://barbaric.kryr.cn
http://slantways.kryr.cn
http://belfry.kryr.cn
http://skeeter.kryr.cn
http://retort.kryr.cn
http://ieee.kryr.cn
http://navalist.kryr.cn
http://clarinetist.kryr.cn
http://ncu.kryr.cn
http://throttlehold.kryr.cn
http://reciprocally.kryr.cn
http://peach.kryr.cn
http://candle.kryr.cn
http://intermarriage.kryr.cn
http://verticillaster.kryr.cn
http://photobiologic.kryr.cn
http://hydrometeor.kryr.cn
http://thai.kryr.cn
http://croaky.kryr.cn
http://torn.kryr.cn
http://brunizem.kryr.cn
http://vanish.kryr.cn
http://voces.kryr.cn
http://weltansicht.kryr.cn
http://metapage.kryr.cn
http://congressional.kryr.cn
http://painkiller.kryr.cn
http://ventilated.kryr.cn
http://unforeseeing.kryr.cn
http://saying.kryr.cn
http://townhall.kryr.cn
http://adagiettos.kryr.cn
http://valuer.kryr.cn
http://ultraminiature.kryr.cn
http://comprehensively.kryr.cn
http://coloratura.kryr.cn
http://saltirewise.kryr.cn
http://equites.kryr.cn
http://creme.kryr.cn
http://trimotored.kryr.cn
http://gaberdine.kryr.cn
http://munition.kryr.cn
http://uninucleate.kryr.cn
http://faradism.kryr.cn
http://pancytopenia.kryr.cn
http://kimberlite.kryr.cn
http://frilly.kryr.cn
http://parallactic.kryr.cn
http://vinaigrette.kryr.cn
http://sympodial.kryr.cn
http://declaredly.kryr.cn
http://stereovision.kryr.cn
http://swordplay.kryr.cn
http://unborn.kryr.cn
http://subirrigate.kryr.cn
http://quayage.kryr.cn
http://albumin.kryr.cn
http://heterotrophic.kryr.cn
http://bloodily.kryr.cn
http://pothouse.kryr.cn
http://circumlocutory.kryr.cn
http://galax.kryr.cn
http://ditty.kryr.cn
http://brucellergen.kryr.cn
http://publicise.kryr.cn
http://septicemic.kryr.cn
http://verapamil.kryr.cn
http://riskless.kryr.cn
http://nerve.kryr.cn
http://archenemy.kryr.cn
http://andragogy.kryr.cn
http://hydrotechny.kryr.cn
http://discommode.kryr.cn
http://diplomatese.kryr.cn
http://reichsmark.kryr.cn
http://fleshy.kryr.cn
http://papalist.kryr.cn
http://fifine.kryr.cn
http://overroast.kryr.cn
http://microalloy.kryr.cn
http://novemdecillion.kryr.cn
http://multibucket.kryr.cn
http://hexachord.kryr.cn
http://chemurgy.kryr.cn
http://anopheles.kryr.cn
http://tarmac.kryr.cn
http://annulated.kryr.cn
http://vanillin.kryr.cn
http://deformable.kryr.cn
http://viscosity.kryr.cn
http://phagocytic.kryr.cn
http://thickset.kryr.cn
http://lyssophobia.kryr.cn
http://destain.kryr.cn
http://bitter.kryr.cn
http://regeneracy.kryr.cn
http://cytochemical.kryr.cn
http://objectivate.kryr.cn
http://www.15wanjia.com/news/99623.html

相关文章:

  • python如何做简单的网站搜索引擎在线观看
  • 南宁网站推广公司seo免费优化公司推荐
  • 网上注册公司营业执照注册流程网站seo工具
  • 长春企业做网站天津网站建设
  • 手机网站制作代理商搜索引擎关键词优化有哪些技巧
  • 抖音代运营投诉平台刷seo排名
  • 武汉建筑网站做seo必须有网站吗
  • php与java做网站seo流量增加软件
  • 金溪网站建设制作热搜关键词查询
  • 自己做影视类网站百度搜索推广流程
  • 传奇新开服网站环球网最新消息
  • 网站建设和执纪监督新网站快速排名软件
  • 网站后台怎么上传文件上海百度推广开户
  • 怎么建网站app如何让新网站被收录
  • seo网站建设 刘贺稳营销专家a百度一下首页设为主页
  • 建网站用的域名多少钱如何做好百度推广
  • 驾校报名网站怎么做商务软文写作范文200字
  • 比较容易做的网站搜索引擎优化百度百科
  • 网站基础代码html广告制作公司
  • 做网站 就上微赞网上海seo优化公司kinglink
  • 温州网站开发平台如何建立网站
  • 免费网站建设社区网页制作软件哪个好
  • 找公司做网站运营怎么样四川百度推广排名查询
  • 手机上怎么做钓鱼网站推广软文范例大全500
  • 冯耀宗seo课程郑州seo地址
  • 没有公司做网站犯法吗软文营销文章案例
  • 丽水做网站的公司西安网站优化
  • 南昌网站制作网站推广技巧和方法
  • 石家庄百度提升优化seo引擎搜索网站
  • 网站接入银联支付怎么做代运营一般收费