[DRIVERS-353] Space requirements for connections in drivers Created: 23/Feb/17 Updated: 17/Mar/20 Resolved: 07/Jun/18 |
|
| Status: | Closed |
| Project: | Drivers |
| Component/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Lorne Schachter | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
When connections are created in an application (to connect to mongos), what is the data requirement (we've been told it's 1M)? Is it the same for each driver or are some more expensive than others? Thanks, |
| Comments |
| Comment by Bernie Hackett [ 23/Feb/17 ] |
|
lorne.schachter, see my previous comments and the SERVER ticket. The server (mongod or mongos) creates a thread to handle each incoming connection. The server tunes the thread stack size to 1MB in Linux using the pthread interface. Most threads in an application are created by the application. The driver has no control over tuning the stack size of application threads. The "space requirement" for a connection in a driver is going to be whatever the operating system defines as the default TCP buffer size, which is also out of control of the driver. |
| Comment by Bernie Hackett [ 23/Feb/17 ] |
|
See |
| Comment by Bernie Hackett [ 23/Feb/17 ] |
|
I think by data you mean the memory used for each connection? The server tunes this down to 1MB, I think, but I don't think any driver does any tuning (or can do any tuning). Note that it's 1MB per thread that handles a connection. Nothing to do with TCP buffers. |