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

嘉兴php网站开发wordpress演示插件

嘉兴php网站开发,wordpress演示插件,免费建手机网站的软件,四川建筑工程网基于异步IO的io_uring 1. io_uring的实现原理 io_uring使用了一种异步IO机制#xff0c;它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信#xff0c;用户只需将IO请求放入提交队列#xff0c;当内核完成IO请求时#xff0c;会将结果放入完成队列它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信用户只需将IO请求放入提交队列当内核完成IO请求时会将结果放入完成队列然后用户从完成队列中提取结果并进行后序处理。 io_uring中的两个队列是映射到用户态的共享内存区域用户态和内核态可以直接通过这个区域交换数据减少了系统调用上下文切换。用户也可以一次性提交多个IO请求减少了系统调用次数。 io_uring在内核中有专门的work线程来处理用户请求完成IO操作并且worker线程数量也是内核根据cpu核心数和负载情况自己调节的。 io_uring的优点 高并发通过异步IO机制一个线程能够同时进行大量的IO处理不会产生阻塞。高性能低延迟读写操作在内核态完成并且IO请求和IO结果都是通过共享内存来传递的减少了系统调用和上下文切换次数。 2. liburing的使用流程 2.1 多线程设计 每个线程一个io_uring– 不用考虑同步但是浪费资源一个io_uring线程加一个线程池处理任务 -- 需要考虑同步问题多个线程使用一个io_uring同样需要考虑同步问题 2.2 流程 创建 io_uring 实例 int ret io_uring_queue_init(32, ring, 0); // 初始化 io_uring 实例队列深度为 32填充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); // 异步读取文件提交IO请求 int submitted io_uring_submit(ring); // 提交请求到内核等待IO请求完成 int ret io_uring_wait_cqe(ring, cqe); // 等待完成队列中的一个请求完成 io_uring_cqe_seen(ring, cqe); // 告诉 io_uring 已经处理完该完成队列入口清理资源 io_uring_cqe_seen(ring, cqe); // 告诉 io_uring 已经处理完该完成队列入口3. proactor网络模型 proactor网络模型是一种异步IO事件驱动的模型它向内核提交IO请求然后等待内核完成IO操作后再提取结果。它与reactor一样都是高性能、高并发的网络模型与reactor的区别在于IO事件的处理是在内核态完成的用户直接获取IO操作的结果。 Proactor 模式的关键思想是将 I/O 操作的处理责任交给操作系统应用程序只负责发起请求和处理回调。 proactor的优点 高性能的异步IOIO操作在内核态完成内核完成后将结果通知用户因此能够减少系统调用和上下文切换提高性能。高并发和reactor一样都能够用一个线程同时处理大量连接的IO请求只不过reactor依靠的是IO多路复用机制而proactor依赖的异步IO。线程复用性和reactor一样proactor也可以减少线程的切换、创建、销毁的开销节约线程资源程序的局部性更好对缓存更友好。 4. proactor模式的使用场景 高性能、高并发、内核5.1以上 4.1 reactor对比proactor IO事件处理上reactor在用户态处理IO操作用户需要注册事件、等待事件发生然后在用户态调用IO操作而proactor模式在内核处理IO操作用户只需提交异步IO请求然后等待和获取IO操作的结果内核态的worker线程会进行实际的IO操作。性能上由于proactor模式由内核来负责处理IO操作减少了系统调用和上下文切换次数性能较强。经过实测在echo回声应用上测试16、64、512、1024长度消息proactor的性能平均要比epoll高10%左右。
http://www.w-s-a.com/news/22219/

相关文章:

  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁
  • 网站建设招标方案模板上线啦 图谱智能网站
  • 龙口网站建设公司哪家好wordpress 上传类型
  • 做外贸主要看什么网站服务平台的宗旨
  • 宜昌营销型网站购买网站
  • 如何查询网站建设时间wordpress 框架解析
  • 网站建设年终总结网站建设公司顺义
  • 网页给别人做的 网站后续收费吗获取更多付费流量
  • 金融交易网站建设金融 网站建设
  • 长沙网站建设联系电话怎么做表格
  • 网站怎么做域名实名认证龙华网站 建设信科网络
  • 企业网站规划方案网站是做排行榜
  • 万维网网站个人申请网站
  • 我想做网站怎么做昆山网站建设 全是乱码
  • 单位做网站怎么做圣诞树html网页代码
  • 网页开发与网站开发企业网站托管服务常用指南