I/O 完成端口 (Windows) 或异步 I/O (AIO) 是否会提高处理大量请求的多线程服务器的性能?
我想对我的服务器应用程序的 Windows 和 Linux 版本使用 I/O 完成端口和异步 I/O (AIO)。应用程序服务器是多线程的,它可以接受大量并发 TCP 连接,并且每个连接可以处理许多请求。这个标准是否足以使用最新的 AIO?是否有任何标准化可以使一种代码可以用于所有平台。
谢谢, 娜迦
I want to use I/O Completion ports for Windows and Asynchronous I/O (AIO) for solaris and Linux versions of my server application. The application server is multithreaded and it can accept lot of concurrent TCP connections and can process many requests per conenction. Is this criteria well enough to use the latest AIO?. Is there any standardization using which one code can be used to all platforms.
Thanks,
Naga
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是 I/O 完成端口在 Windows 上的工作方式...它们允许您使用极少量的线程来处理大量的 I/O。
例如,此处: http://www.lenholgate .com/blog/2005/10/the-64000-connection-question.html 我谈到用大约 4 个线程处理 64,000 个并发活动 TCP 连接...
对于 Linux,我希望采取的路线是使用 < a href="http://www.monkey.org/~provos/libevent/" rel="nofollow noreferrer">libevent。
对于跨平台,肯定有人会建议 ASIO。
That's not how I/O Completion Ports work on Windows... They allow you to use a very small number of threads to process vast amounts of I/O.
For example, here: http://www.lenholgate.com/blog/2005/10/the-64000-connection-question.html I talk about handling 64,000 concurrent active TCP connections with around 4 threads...
For Linux I expect the route to take is to use libevent.
For cross platform someone is sure to suggest ASIO.