Derek Gelinas created TC-32:
-------------------------------
Summary: Improve efficiency of ATS config generation
Key: TC-32
URL: https://issues.apache.org/jira/browse/TC-32
Project: Traffic Control
Issue Type: Improvement
Components: Traffic Ops API
Affects Versions: 1.8.0
Reporter: Derek Gelinas
Currently when generating ATS configuration files, each server calls for its
individual files from traffic ops. This is a very database-intensive process
that is not scalable enough. I propose the following changes:
1) Generate the configuration files only as many times as needed - many files
are the same (or can be) for the entire CDN or server profile.
2) Once generated, the files can be cached locally. Requests for the files by
ORT will result in pulling down these cached files rather than many hundreds of
DB queries each time.
3) Migrate the routes for these files to the API. Each call will have multiple
options - a request made with no options would return the cached file, another
option would return the current DB data, and a third option would update the
cached file with the current information in the DB.
4) When an update is queued, generate and cache the configuration files, then
activate the update flag for the relevant servers once the cached file
generation is completed.
In this way, triggering updates for the caches will result in an initial
increase in activity as traffic ops generates the files needed, followed by the
much lower impact of the files themselves being requested by the caches.
I believe we can cut down the number of server-specific configuration files to
only 5 intially, and potentially fewer by having ORT fill in certain fields on
files like records.config with local data during processing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)