You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/01/19 16:56:26 UTC

[jira] [Commented] (TC-32) Improve efficiency of ATS config generation

    [ https://issues.apache.org/jira/browse/TC-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830239#comment-15830239 ] 

ASF GitHub Bot commented on TC-32:
----------------------------------

GitHub user dg4prez opened a pull request:

    https://github.com/apache/incubator-trafficcontrol/pull/199

    [TC-32] Addition of ATS Config API - Do not merge

    Working API for ATS config file generation, divided by three "scopes" - CDN, profile, and server.
    
    This is intended to be used for a redesign of the ATS config process. No test files have been generated yet - this PR is intended for review only, and is linked to https://issues.apache.org/jira/browse/TC-32
    
    Currently working on test files and minor fixes.  Do not merge just yet.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dg4prez/incubator-trafficcontrol ats_api_config

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafficcontrol/pull/199.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #199
    
----
commit c849bb93a7b4a7159894ae89fd283caf95769d5a
Author: Derek Gelinas <de...@cable.comcast.com>
Date:   2017-01-18T19:35:01Z

    Create ATS Config API for master branch

commit 058da0e4d5030f5c598df819ed8ce26a0407a9ad
Author: Derek Gelinas <de...@cable.comcast.com>
Date:   2017-01-18T20:20:00Z

    psql fixes and remove any_map bug

commit 0362bfbe5c1afe0a2386337a0d3225442257eaeb
Author: Derek Gelinas <de...@cable.comcast.com>
Date:   2017-01-18T20:20:21Z

    psql fixes and remove any_map bug

commit 28c40d030c49a43ce8141dc589738706a969a9cb
Author: Derek Gelinas <de...@cable.comcast.com>
Date:   2017-01-19T16:54:20Z

    remove scope parameter and change ort naming

----


> 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)