> The data seems be cached on the server and not be sent out.
Is it? Have you run a network trace? Have you tried waiting longer than 100ms?
If your server is sending a segment shorter than the MSS, you may be seeing Nagle / Delayed ACK interaction. If that's holding up the end of a TLS record, then select will indicate the socket is readable but a subsequent SSL_read will block until the remainder of the record has been received.
A network trace, even without decryption, will give you some idea of when data is being sent, and how much.
Distinguished Engineer, Micro Focus