
On Wed, Dec 21, 2011 at 3:27 PM, james@jamesbb.co.uk <james@jamesbb.co.uk> wrote:
I'm hoping for opinions on using an io_service per core against a single io_service with multiple threads (similar to HTTP Server examples 2 & 3). The application is a TCP authentication / proxy server, intended to use all available cores.
- The TCP streams consist of small messages (usually a few hundred bytes) which can individually be processed quickly. - Connections themselves are fairly long lasting - average around 4 hours, although occasionally up to 10-12 hours.
We're looking for a 'shared nothing' design between threads - database queries can be made per-thread (using TLS), for example.
Are database queries blocking or non-blocking? If they're blocking, won't this also block other connections handled by the same thread? Olaf

Blocking - I've thought about this, but the MySQL C/C++ libraries unfortunately don't provide asynchronous queries. I'm thinking of moving database reads into a seperate thread(s). It would be nice if I can integrate this with the io_service, but I'm unsure how to do so. Is it possible to pass arbitrary work items to an io_service, in the same manner as async_read/write? Many thanks. On 21 December 2011 at 16:07 Olaf van der Spek <ml@vdspek.org> wrote:
On Wed, Dec 21, 2011 at 3:27 PM, james@jamesbb.co.uk <james@jamesbb.co.uk> wrote:
I'm hoping for opinions on using an io_service per core against a single io_service with multiple threads (similar to HTTP Server examples 2 & 3). The application is a TCP authentication / proxy server, intended to use all available cores.
- The TCP streams consist of small messages (usually a few hundred bytes) which can individually be processed quickly. - Connections themselves are fairly long lasting - average around 4 hours, although occasionally up to 10-12 hours.
We're looking for a 'shared nothing' design between threads - database queries can be made per-thread (using TLS), for example.
Are database queries blocking or non-blocking? If they're blocking, won't this also block other connections handled by the same thread?
Olaf
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
james@jamesbb.co.uk
-
Olaf van der Spek