[Qt-interest] QSslSocket: poor throughput over long fat pipes ?

Thiago Macieira thiago.macieira at trolltech.com
Mon Jul 27 20:50:38 CEST 2009


Em Segunda-feira 27 Julho 2009, às 17:24:30, Stephen Collyer escreveu:
> I have a client who has reported poor throughput with a
> QTcpServer/QSslSocket
> based app when run over a long fat pipe with a bandwidth-delay product of
> about 1.2MB (b/w of 622Mb/s and latency of 15ms).
>
> When using a curl client and Apache server on this link, throughput was
> about 60MB/s.
>
> When using a curl client and the QTcpServer/QSslSocket (in unencrypted
> mode) throughput was about 20MB/s.
>
> Both tests were run on the same Opensuse 10.3 installation.
>
> Does anyone know if there are inherent limitations in the Qt socket
> implementation (in the event loop maybe) that could limit QSslSocket
> performance to such an extent ?

I can get way more than 20 MB/s if I use localhost here. With QTcpSocket, I 
can get over 600 MB/s (megabytes, not bits). 

The next best connection I have is a FastEthernet, at 100 Mbit/s. Using that 
pipe, I can get 10 MB/s easily.

When working over the network, the servers are not running Qt. But even in 
encrypted client mode, the throughput gets to 10 MB/s.

I don't have any networks faster than that to test.

Can you check if your Qt program is saturating one CPU? The Qt overhead would 
explain for a 3x performance drop compared to curl if the problem is CPU. But 
usually it isn't: the limiting factor is bandwidth and Qt should reach the 
bandwidth limit.

-- 
Thiago Macieira - thiago.macieira (AT) nokia.com
  Senior Product Manager - Nokia, Qt Software
     Sandakerveien 116, NO-0402 Oslo, Norway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090727/7f851957/attachment.bin 


More information about the Qt-interest-old mailing list