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