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

Proposal: InactivityCop Optimize

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.1.0
    • Component/s: Core, Network
    • Labels:
      None
    • Backport to Version:

      Description

      By review the processing of InactivityCop::check_inactivity():

      1. get all local vc from open_list
      2. put them into cop_list
      3. check every vc in cop_list if it is already timeouted
      4. callback vc->handleEvent to close vc if it is timeout

      InactivityCop and NetHandler share one mutex.
      InactivityCop runs every second, NetHandler runs every 10ms, that means Nethandler runs 100 times until next InactivityCop runs.

      if one vc has read/write in a Nethandler call, it is won't be timeout in the next InactivityCop run.

      Thus, if the vc has read/write in Nethandler, we move it out of cop-list then the InactivityCop runs would get better performace.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                oknet Chao Xu
                Reporter:
                oknet Chao Xu
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 5h 50m
                  5h 50m