[CDRIVER-532] vectorized writes are pathological for TLS using BIO_write Created: 18/Feb/15  Updated: 19/Oct/16  Resolved: 10/Mar/15

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: 1.1.0
Fix Version/s: 1.1.2

Type: Improvement Priority: Major - P3
Reporter: Mira Carey Assignee: Mira Carey
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to PHPC-298 Coalesce small writes Closed

 Description   

The mongoc_stream_writev api is somewhat pathological for TLS streams at this point, because we make multiple calls into BIO_write, which adds overhead in the driver, over the wire and in the server.

We should coalesce small writes to avoid this penalty



 Comments   
Comment by Githook User [ 19/Feb/15 ]

Author:

{u'username': u'hanumantmk', u'name': u'Jason Carey (hanumantmk)', u'email': u'jcarey@argv.me'}

Message: CDRIVER-532 - Coalesce small vectorized TLS writes

Rather than calling BIO_write multiple times for each iovec_t in a call
to mongoc_stream_tls_writev(), buffer them and send them all at once.
Attempt to "do the right thing"tm, when buffering provides no
performance benefit.
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/4ebba3d84286df3867bad89358eb6ae956e62a59

Comment by Mira Carey [ 18/Feb/15 ]

https://github.com/mongodb/mongo-c-driver/pull/174

Generated at Wed Feb 07 21:09:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.