|
Boost Users : |
Subject: Re: [Boost-users] [Boost.ASIO] [asio] Scaling TCP Server
From: Sebastian Messerschmidt (sebastian.messerschmidt_at_[hidden])
Date: 2015-08-11 08:57:58
Hi,
> I have created a TCP server that can receive two types of message from
> client.
> 1. "Heartbeat" : If this is found and "first_fetch" is 1, send some
> config in Json format else send {"config_changed" : "true"}
> 2. "Message" : If this is found, send {"success" : "true"}
>
> The async server is here =>
> https://gist.github.com/mesarvagya/a73f2428417cb10336ef
> and the client is given here =>
> https://gist.github.com/mesarvagya/90d764c749d18d9c5184
>
> While both works fine, but the server is slower than expected. If one
> sees, I have used ~3kb message in client. When the client and server
> are connected, I did a preliminary benchmarking and the result were as
> follows:
>
> 1. For 50K messages, the time was 6 seconds.
> 2. For 100K messages, the time was 11 seconds.
> 3. For 200K messages, the time was 36 seconds.
> 3. For 500K messages, the time was 82 seconds
> 3. For 1million messages, the time was 174 seconds.
>
> The server is not working as expected. Currently it works at ~6K
> message/seconds in localhost. I would like to optimize the current
> server to receive at-least 100K messages per second. How should I
> begin with optimizing the server code? Is it possible to receive such
> high message/seconds in boost.ASIO and if so, how should I approach
> with the server design?
What platform are you testing? The localhost adapter implementation
might be a limiting factor on some platforms.
Can you try to use smaller packet sizes for comparison?
Have you measured pure throughput by not handling the messages but
simply receiving them?
I would recommend to profile your code for bottlenecks, such as parsing
the strings etc.
Cheers
Sebastian
>
>
> --
> /Sarvagya Pant
> /
> /Kathmandu, Nepal/
> /+9779803468257/
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
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