首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多路复用与io_uring

多路复用与io_uring
EN

Stack Overflow用户
提问于 2020-11-21 19:23:38
回答 1查看 720关注 0票数 0

最近,我使用epoll编写了一个简单的TCP服务器,但我想探索其他高性能多路复用的机制,为此我遇到了io_uring,并计划使用它来制作另一个简单的TCP服务器。

不过,我在这里看到,io_uring的条目数仅限于4096个,这似乎意味着理论上我将无法拥有更多的持久连接。

根据我的理解,通常我会使用epoll_wait()之类的东西来等待epoll事件的发生,相反,我会在io_uring中提交一个特定的请求,并在请求完成/失败时得到通知,那么这是否意味着我可以提交最多4096个read()请求?

我是误解了io_uring的用例,还是误解了如何使用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-22 18:38:07

在我所链接的同一份文件中,它说:

通常是一个应用程序会请求一个给定大小的环,并且假设这个大小直接对应于应用程序在内核中有多少待决请求。但是,由于sqe的生存期只是它实际提交的生命周期,所以应用程序可以驱动比SQ环大小所显示的更高的挂起请求计数。

这正是您在大量套接字上侦听消息时所做的事情--只是一次发送的提交量的上限是4096。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64947153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档