You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "B Wyatt (JIRA)" <ji...@apache.org> on 2012/08/28 19:42:07 UTC

[jira] [Created] (TS-1427) PluginVC's inactivity timeout support is expensive due to Mutex and Thread Scheduling load

B Wyatt created TS-1427:
---------------------------

             Summary: PluginVC's inactivity timeout support is expensive due to Mutex and Thread Scheduling load
                 Key: TS-1427
                 URL: https://issues.apache.org/jira/browse/TS-1427
             Project: Traffic Server
          Issue Type: Bug
          Components: HTTP, TS API
    Affects Versions: 3.2.0
         Environment: 3.2 with plugin that makes use of 1 or more PluginVC's with long/large requests
            Reporter: B Wyatt
            Assignee: B Wyatt
            Priority: Minor


PluginVC's method for handling inactivity timer is to cancel and reschedule an event every time activity happens.  When data arrives in rapid and small packets this results in a few hundred cancel and resets per second per PluginVC. Doing so spikes futex and thread scheduling loads in the kernel. 

By contrast, the socket-based VC's use an inactivity cop that fires once a second to see if any connection has been inactive for too long.  This only requires maintaining an timeout timestamp per connection which is far cheaper.  However, it reduces the accuracy of the inactivity timeout to be ~1sec resolution.

Well worth the accuracy trade to get performance back up to par in my opinion.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (TS-1427) PluginVC's inactivity timeout support is expensive due to Mutex and Thread Scheduling load

Posted by "B Wyatt (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

B Wyatt resolved TS-1427.
-------------------------

    Resolution: Fixed

git commit: c8392efb7c10c109592ceae980c0ed6a691899d5
                
> PluginVC's inactivity timeout support is expensive due to Mutex and Thread Scheduling load
> ------------------------------------------------------------------------------------------
>
>                 Key: TS-1427
>                 URL: https://issues.apache.org/jira/browse/TS-1427
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP, TS API
>    Affects Versions: 3.2.0
>         Environment: 3.2 with plugin that makes use of 1 or more PluginVC's with long/large requests
>            Reporter: B Wyatt
>            Assignee: B Wyatt
>            Priority: Minor
>
> PluginVC's method for handling inactivity timer is to cancel and reschedule an event every time activity happens.  When data arrives in rapid and small packets this results in a few hundred cancel and resets per second per PluginVC. Doing so spikes futex and thread scheduling loads in the kernel. 
> By contrast, the socket-based VC's use an inactivity cop that fires once a second to see if any connection has been inactive for too long.  This only requires maintaining an timeout timestamp per connection which is far cheaper.  However, it reduces the accuracy of the inactivity timeout to be ~1sec resolution.
> Well worth the accuracy trade to get performance back up to par in my opinion.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira