[
https://issues.apache.org/jira/browse/TC-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15768277#comment-15768277
]
ASF GitHub Bot commented on TC-32:
----------------------------------
Github user dg4prez commented on a diff in the pull request:
https://github.com/apache/incubator-trafficcontrol/pull/141#discussion_r93527102
--- Diff: traffic_ops/app/lib/UI/ConfigFiles.pm ---
@@ -312,6 +312,9 @@ sub param_data {
if ( $row->parameter->name eq "location" ) {
--- End diff --
The parameters are going to need to be overhauled to make it compatible
with other CDN software. I'm planning on working on that sort of thing next.
Regarding scope, I didn't want to rely on straight code. However, we may be
able to do so if it's a significant concern. The get_scope function is there as
a fallback in case a config file doesn't have a scope, but thinking about it
now it's entirely possible we could do away with the parameter altogether. The
original thought was that for anything not already defined I wanted to be able
to define it in the db so we could add config files without code. But i think
all those files would be take and bake generated anyway, which is server based
and the default return when a file name isn't matched. So... I think we're
really just dealing with a single set of core files.
I'll look into it. I think you might be correct.
> 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
> Reporter: Derek Gelinas
> Assignee: Derek Gelinas
> Fix For: 1.9.0
>
>
> 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)