I have a hardware based on ARM processor with QNX RTOS, on which I need to stream http data between two applications http_client and http_server, both based on POCO C++ library. I have create simple client and server programs that stream contents of a file. On the hardware I get http throughput of 1.8 Gbps, whereas iperf give tcp throughput of 27 Gbps. (note that file read time has been deducted to arrive at the http throughput numbers)
I tried the same programs on Linux on Laptop, there too I see a difference in the throughput between http and tcp.
Can someone suggest ways through either Poco configuration, compile-time flags, API usage or setup which can help me achieve higher throughput nearer to the iperf tcp throughput.
Other details of my setup :
I am using the POCO shared release version 1.10.1, compiled with O2 optimization and making use of the template of HTTPFormServer which is given under poco-> Net -> Samples.
I have set the TCPNODELAY to false, which helped me in improving the performance on Linux on laptop, but not on QNX. I wonder why it did not help on hardware. Any pointers on this ?