2010-06-11 95 views
6

我很好奇其他人在可扩展性方面推动了Boost.Asio。我正在编写一个应用程序,它可能会使用接近1000个套接字对象,少数接受器对象和数千个计时器对象。我已经配置了它,以便在适当的位置调用io_service::run并使用strand来确保我的处理程序不会彼此跺脚。Boost.Asio的可扩展性

我的平台是红帽企业Linux和Boost 1.39,但我并不反对升级到更新版本的boost。

回答

9

我们在定时器,网络(包括TCP和UDP),串口(20多条线路,其中两条运行速度为500 kbps)以及事件记录等几种Linux口令上使用1.39,而我们没有多少套接字连接,我们在任何时候都有几百个异步计时器。他们正在生产,他们为我们工作很好。如果我是你,我会制作一个快速的原型和性能测试。

Boost 1.43在ASIO中声称了许多Linux特定的性能改进,但我还没有为我们的产品进行基准测试。

+0

好的建议,我会做一些测量比较升压1.39至1.43。 – 2010-06-12 01:40:13

6

我用了一台客户机/服务器的boost asio,其中服务器整天都有好几百个并发连接。每个会话都会进行大量的读/写操作,每个会话需要几个小时。我会建议使用升级asio的最新版本。我不记得1.39版本,但我有旧版本的问题。 boost asio的当前版本看起来很稳定。

我说的软件只能在Windows上运行,我应该提及的是哪些与您的情况有所不同。

+0

你使用多线程吗?或只是一个大的线程和异步的权力? – matiu 2017-06-22 18:44:04