Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1480

Improve performance of reading HTTP headers

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • transport/http, util
    • None

    Description

      Currently, in file src/core/transport/http/sender/http_client.c, when processing HTTP headers, we read the data 1 byte at a time. This is too inefficient and performance intensive, since each read means a read to the TCP/IP stack.

      The proposal is to improve the stream utility support so that one can specify a minimum number of bytes to read. So that when a read comes down that is less than the minimum, we read the minimum into a stream buffer and then copy the requested read length into caller buffer. So next time stream is read, and there is data in the stream buffer, the data is returned without having to do a socket read.

      We can probably extend this on the stream write-side as well.

      Attachments

        Activity

          People

            Unassigned Unassigned
            nadiramra Nadir K. Amra
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: