Skip to content

Commit

Permalink
Remove Congestion Control Feature
Browse files Browse the repository at this point in the history
This feature has been gathering dust.  I don't beleive anyone is using the
feature, and the feedback I received is that it doesn't really work.
  • Loading branch information
shinrich committed Jan 16, 2018
1 parent a1a924e commit 4e62375
Show file tree
Hide file tree
Showing 21 changed files with 10 additions and 3,519 deletions.
32 changes: 0 additions & 32 deletions doc/admin-guide/configuration/cache-basics.en.rst
Expand Up @@ -639,38 +639,6 @@ To alter the limit on the number of alternates:

#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.

.. _using-congestion-control:

Using Congestion Control
========================

The *Congestion Control* option enables you to configure Traffic
Server to stop forwarding HTTP requests to origin servers when they
become congested. Traffic Server then sends the client a message to
retry the congested origin server later.

To enable this option:

#. Set :ts:cv:`proxy.config.http.congestion_control.enabled` to ``1`` in
:file:`records.config`. ::

CONFIG proxy.config.http.congestion_control.enabled INT 1

#. Create rules in :file:`congestion.config` to specify:

- Which origin servers Traffic Server tracks for congestion.

- The timeouts Traffic Server uses, depending on whether a server is
congested.

- The page Traffic Server sends to the client when a server becomes
congested.

- Whether Traffic Server tracks the origin servers by IP address or by
hostname.

#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.

.. _transaction-buffering-control:

Using Transaction Buffering Control
Expand Down
198 changes: 0 additions & 198 deletions doc/admin-guide/files/congestion.config.en.rst

This file was deleted.

5 changes: 0 additions & 5 deletions doc/admin-guide/files/index.en.rst
Expand Up @@ -26,7 +26,6 @@ Configuration Files
:hidden:

cache.config.en
congestion.config.en
hosting.config.en
ip_allow.config.en
log_hosts.config.en
Expand All @@ -47,10 +46,6 @@ Configuration Files
Defines if, how, and for what durations |TS| caches objects, based on
destinations, clients, URL components, and more.

:doc:`congestion.config.en`
Defines network conditions under which clients will receive retry messages
instead of |TS| contacting origin servers.

:doc:`hosting.config.en`
Allows |TS| administrators to assign cache volumes to specific origin
servers or domains.
Expand Down
6 changes: 0 additions & 6 deletions doc/admin-guide/files/records.config.en.rst
Expand Up @@ -1533,12 +1533,6 @@ Origin Server Connect Attempts
Congestion Control
==================

.. ts:cv:: CONFIG proxy.config.http.congestion_control.enabled INT 0
Enables (``1``) or disables (``0``) the Congestion Control option, which configures Traffic Server to stop forwarding
HTTP requests to origin servers when they become congested. Traffic Server sends the client a message to retry the
congested origin server later. Refer to :ref:`using-congestion-control`.

.. ts:cv:: CONFIG proxy.config.http.flow_control.enabled INT 0
:overridable:

Expand Down
34 changes: 0 additions & 34 deletions mgmt/RecordsConfig.cc
Expand Up @@ -300,40 +300,6 @@ static const RecordElement RecordsConfig[] =
{RECT_CONFIG, "proxy.config.alarm.script_runtime", RECD_INT, "5", RECU_DYNAMIC, RR_NULL, RECC_INT, "[0-300]", RECA_NULL}
,

//####################################################################
//# congestion control
//####################################################################
{RECT_CONFIG, "proxy.config.http.congestion_control.enabled", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.localtime", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.filename", RECD_STRING, "congestion.config", RECU_DYNAMIC, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.max_connection_failures", RECD_INT, "5", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.fail_window", RECD_INT, "120", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.proxy_retry_interval", RECD_INT, "10", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.client_wait_interval", RECD_INT, "300", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.wait_interval_alpha", RECD_INT, "30", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.live_os_conn_timeout", RECD_INT, "60", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.live_os_conn_retries", RECD_INT, "2", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.dead_os_conn_timeout", RECD_INT, "15", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.dead_os_conn_retries", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.max_connection", RECD_INT, "-1", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.error_page", RECD_STRING, "congestion#retryAfter", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.congestion_control.default.congestion_scheme", RECD_STRING, "per_ip", RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL}
,

// ###########
// # Parsing #
// ###########
Expand Down
8 changes: 0 additions & 8 deletions proxy/ControlMatcher.cc
Expand Up @@ -45,7 +45,6 @@
#include "P_Net.h"
#include "P_Cache.h"
#include "P_SplitDNS.h"
#include "congest/Congestion.h"

/****************************************************************
* Place all template instantiations at the bottom of the file
Expand Down Expand Up @@ -1004,10 +1003,3 @@ template class HostMatcher<CacheControlRecord, CacheControlResult>;
template class RegexMatcher<CacheControlRecord, CacheControlResult>;
template class UrlMatcher<CacheControlRecord, CacheControlResult>;
template class IpMatcher<CacheControlRecord, CacheControlResult>;

template class ControlMatcher<CongestionControlRecord, CongestionControlRule>;
template class HostMatcher<CongestionControlRecord, CongestionControlRule>;
template class HostRegexMatcher<CongestionControlRecord, CongestionControlRule>;
template class RegexMatcher<CongestionControlRecord, CongestionControlRule>;
template class UrlMatcher<CongestionControlRecord, CongestionControlRule>;
template class IpMatcher<CongestionControlRecord, CongestionControlRule>;
2 changes: 0 additions & 2 deletions proxy/Main.cc
Expand Up @@ -88,7 +88,6 @@ extern "C" int plock(int);
#include "Plugin.h"
#include "DiagsConfig.h"
#include "CoreUtils.h"
#include "congest/Congestion.h"
#include "RemapProcessor.h"
#include "I_Tasks.h"
#include "InkAPIInternal.h"
Expand Down Expand Up @@ -1840,7 +1839,6 @@ main(int /* argc ATS_UNUSED */, const char **argv)
remapProcessor.start(num_remap_threads, stacksize);
RecProcessStart();
initCacheControl();
initCongestionControl();
IpAllow::startup();
ParentConfig::startup();
#ifdef SPLIT_DNS
Expand Down
3 changes: 1 addition & 2 deletions proxy/Makefile.am
Expand Up @@ -19,7 +19,7 @@
include $(top_srcdir)/build/tidy.mk

# Note that hdrs is targeted from ../Makefile.am
SUBDIRS = congest http http2 logging config
SUBDIRS = http http2 logging config
noinst_LIBRARIES =
bin_PROGRAMS = \
traffic_server \
Expand Down Expand Up @@ -181,7 +181,6 @@ traffic_server_LDADD = \
http/libhttp.a \
http2/libhttp2.a \
http/remap/libhttp_remap.a \
congest/libCongestionControl.a \
logging/liblogging.a \
logging/liblogcollation.a \
hdrs/libhdrs.a \
Expand Down

0 comments on commit 4e62375

Please sign in to comment.