Comments (4)
The first thing to try is to do as much work as possible per I/O. That means, you want to transfer large buffers of data. Say, at least one megabyte per I/O call. If you have very many small buffers you should try to combine them into a single BufferSequence, or try copying them into a single, large destination buffer. You will need to measure these approaches.
Are you using HTTP, or Websocket?
from beast.
Awesome thank you! And just to help others reading this from our separate email thread, there is no benefit from opening multiple separate sockets on different ports between a client and server instance. It won't improve raw throughput.
I am using websocket as I think the upgraded protocol and ability to push data as it becomes available to the server from disk is most beneficial for this implementation.
If there is packet drop, does that delay the transmission to other clients or does the packet failure and TCP resend get a new spot in the the io_context run queue? As there will be many clients expecting imaging data from each containerized instance, ensuring all do not slow down due to one client's poor connection was another motivation for multiple sockets per client design.
from beast.
If there is packet drop, does that delay the transmission to other clients or does the packet failure and TCP resend get a new spot in the the io_context run queue? As there will be many clients expecting imaging data from each containerized instance, ensuring all do not slow down due to one client's poor connection was another motivation for multiple sockets per client design.
TCP packet retransmission (and other low-level tasks like sequence checking) is handled by the operating system's network stack, and they don't directly impact the application.
from beast.
Thank you
from beast.
Related Issues (20)
- Test Matrix needs work
- Issue trying to read an "endless" chunked stream HOT 3
- How to establish mapping between C++ classes and database tables using Boost Beast. HOT 3
- Any possibility to make dependency on Boost not required(like ASIO does)? HOT 2
- Chat-Multi Code of Boost Beast is crashing when made some changes. HOT 5
- Question about field used hash function HOT 6
- Web link is broken HOT 1
- Websocket Async Client as a DLL HOT 1
- CI should build documentation on Windows platform
- Beast Server Exits for reasons that Client is disconnecting? HOT 2
- Using a minimal executor causes compile errors with beast::websocket HOT 3
- How to check whether there is any available data on the stream HOT 4
- [HELP] Server heartbeat and response HOT 2
- Limitation of `websocket::stream::accept(...)` and `websocket::stream::async_accept(...)`. HOT 3
- Session communication without Mutex? HOT 4
- The beast Server Exits frequently HOT 3
- Is it possible to serialize the body directly to file from a request_parser<empty_body> HOT 7
- Beast shouldn't have a root Jamfile
- Timeout for async_write, which must not happen at all HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from beast.