You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2013/09/20 23:50:52 UTC

[jira] [Created] (MESOS-701) Improve webui performance for large clusters.

Benjamin Mahler created MESOS-701:
-------------------------------------

             Summary: Improve webui performance for large clusters.
                 Key: MESOS-701
                 URL: https://issues.apache.org/jira/browse/MESOS-701
             Project: Mesos
          Issue Type: Improvement
            Reporter: Benjamin Mahler


For large clusters, the webui performance is abysmal. There are two mains reasons for this:

1. We use a single state.json endpoint to export all state information from the master.

2. We do not have paging when we need to display a large number of items in a table. (e.g. the tasks table under a framework, the slaves table). This translates to gigantic tables with a lot of DOM elements that need updating as the state changes.

There are a few pieces that need to be in place to remedy this, for now I'll capture them all here and we may want to split this apart as this gets worked on:

1. Support path params in mesos/libprocess, e.g.
/master/state -> Returns all information
/master/state/frameworks -> Returns information for all frameworks
/master/state/frameworks/FID -> Returns information for the specific framework
/master/state/frameworks/FID/tasks -> Returns information for tasks under the specific framework
/master/state/frameworks/FID/tasks/TID -> Returns information for the specific task under the specificframework

2. Split the master's state endpoint to be hierarchical as described in the example above.

3. Update the webui to take advantage of the split state.

Optional:

4. Add offset based pagination to the endpoints, e.g. /master/state/slaves?offset=50&limit=100

5. Add paged tables to the webui.

Adding the above will make it difficult to find a specific slave / task, which means we'd likely want to add the ability to search:

6. Add a search regex (or substring) to the relevant endpoints (/slaves and /framework/FID/tasks).

7. Add a search field to quickly filter tables.

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