Boost logo

Boost Users :

Subject: Re: [Boost-users] asio: how to handle disk IO, recommendations
From: Acer Yang (yangacer_at_[hidden])
Date: 2012-10-23 09:58:16


On Tue, Oct 23, 2012 at 9:19 PM, Avi Bahra <avibahra_at_[hidden]> wrote:

> Currently I has a single threaded server based on boost ASIO.
> This works correctly most of the time.
> However on systems where i know that the disk's are slow.
> , the server grinds to a halt, when dealing with the blocking
> disk IO.
>
> I could not find any examples or documentation in ASIO, in
> how to get round these issues. It appears that ASIO does
> not provide any support for async' disk IO.
>
> So I assume this is handled by use of threads ?
> Are there any examples of using ASIO with threaded disk IO,
> since this must be very common use case ?
>
> Is the strand functionality appropriate for handing disk IO,
> in an async' manner.
>
> Any recommendations/advice on this issues would be
> greatly appreciated.
>
> Best regards,
> Ta,
> Avi
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>

Hi Avi,

If your server performs short read/writ frequently and data to be transfer
to network depend on these operations, then multi-threading does not help a
lot here. I would suggest you to recheck your I/O strategies and make sure
they are optimized. e.g. buffering, cache, .. etc. If they are perfect but
performance still bother you, then consider to use memory mapped file or
libaio.

Best,
Acer.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net