Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-3488

Tune and configure some NET constants

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.0.0
    • Component/s: Configuration, Network
    • Labels:
      None

      Description

      I'm thinking these should at least be tuned (20 seems better):

      #define NET_PERIOD -HRTIME_MSECONDS(5)
      #define ACCEPT_PERIOD -HRTIME_MSECONDS(4)
      

      (they used to be 20, bcall checked for me in old code repos, thanks!).

      I think this one should be configurable in some way:

      #define NET_RETRY_DELAY HRTIME_MSECONDS(10)
      

      I think increasing this could introduce latency in some cases, but could also reduce the amount of lock retries and hence reduce pressure on event system and core (under high load).

      From the discussions on IRC with amc and jpeach, one consensus seems to be that we should do this for anything configurable:

      1) Set a minimum, based on CLK_TCK (e.g. 10 on linux)

      2) Make configurable options (if any) such that they are multipliers based on CLK_TCK (so, 10, 20, 30 etc. on Linux).

      In any case, at a minimum I'd like to see

      -#define NET_PERIOD -HRTIME_MSECONDS(5)
      -#define ACCEPT_PERIOD -HRTIME_MSECONDS(4)
      +#define NET_PERIOD -HRTIME_MSECONDS(20)
      +#define ACCEPT_PERIOD -HRTIME_MSECONDS(20)
      

      And something that allows NET_RETRY_DELAY to be configurable (either records.config or configure.ac)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                zwoop Leif Hedstrom
                Reporter:
                zwoop Leif Hedstrom
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: