Marketplace/Performance optimization: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
This is a page to aggregate information about Marketplace performance efforts; it will be maintained as they morph into Tarako-specific issues.
This is a page to aggregate information about Marketplace performance efforts; it will be maintained as they morph into and overlap with Tarako-specific issues.


== Want to contribute? ==
== Want to contribute? ==
Line 8: Line 8:


== Mitigation strategies ==
== Mitigation strategies ==
The short version is that we need to optimize things that should be optimized regardless of other constraints (device constraints, network constraints, etc). Only then can we differentiate between strategic investment and Doing Things The Right Way.
At a high level, these are the strategies being considered:


# [https://bugzilla.mozilla.org/show_bug.cgi?id=900241 Feature/Memory/Device detection (reliable) (900241)]
# [https://bugzilla.mozilla.org/show_bug.cgi?id=900241 Feature/Memory/Device detection (reliable) (900241)]
# Speed and Performance bugs, general (P1-P5s listed below)
# Speed and Performance bugs, general at this point (see below)
## Establish target benchmarks & KPIs for performance
## Establish target benchmarks & KPIs for performance
### low-bandwidth, cold
### high-bandwidth, cold
### low-bandwidth, warm
### high-bandwidth, warm
# Front and Back-end Performance adjustments (pending benchmark results)
# Front and Back-end Performance adjustments (pending benchmark results)


Line 23: Line 30:


== Open issues ==
== Open issues ==
<b>These are immediate issues:</b>
<b>These are immediate questions:</b>
* should change [https://bugzilla.mozilla.org/show_bug.cgi?id=957388 investigate using SPDY (957388)] to "using SPDY?" -- does this need a separate ticket?
* should change [https://bugzilla.mozilla.org/show_bug.cgi?id=957388 investigate using SPDY (957388)] to "using SPDY?" -- does this need a separate ticket?
* [https://bugzilla.mozilla.org/show_bug.cgi?id=983815 Use CDN, etc (983815)] <-- Jeremy from IT is looking at using one CDN for images, one for API?
* [https://bugzilla.mozilla.org/show_bug.cgi?id=983815 Use CDN, etc (983815)] <-- Jeremy from IT is looking at using one CDN for images, one for API?
Line 32: Line 39:
* Related, [https://bugzilla.mozilla.org/show_bug.cgi?id=983502 having the feature detection API (983502)] as [https://bugzilla.mozilla.org/show_bug.cgi?id=900241 originally described] -- this isn't a Marketplace bug, so we're implementing something else for 1.3 and hope to have this for 1.4, 1.5 at the latest.
* Related, [https://bugzilla.mozilla.org/show_bug.cgi?id=983502 having the feature detection API (983502)] as [https://bugzilla.mozilla.org/show_bug.cgi?id=900241 originally described] -- this isn't a Marketplace bug, so we're implementing something else for 1.3 and hope to have this for 1.4, 1.5 at the latest.


== Performance bugs ==
 
== Performance bugs, first batch ==
These bugs have been identified as delivering good performance increases; they are grouped here for ease of consideration. With two exceptions, they are fairly simplistic in effort. All bugs are open unless
 
Note that not all of these are Marketplace bugs, and thus not all are in the priority groupings at the bottom of the page.
 
=== overall speed ===
* {{Bugzilla|988562}}
* {{Bugzilla|871683}} -- NOTE: not Marketplace. Server Ops.
 
=== improve API response time ===
* {{Bugzilla|983815}} -- resolved, fixed
* {{Bugzilla|980081}} -- resolved, fixed
* {{Bugzilla|988557}}
 
=== improve caching techniques ===
* {{Bugzilla|985804}}
* {{Bugzilla|985290}}
* {{Bugzilla|985291}}
* {{Bugzilla|985292}}
* {{Bugzilla|985293}}
 
=== optimize asset delivery ===
* {{Bugzilla|983426}}
* {{Bugzilla|987403}}
* {{Bugzilla|986634}}
* {{Bugzilla|874999}}
 
=== optimize synchronous delivery ===
* {{Bugzilla|847679}} -- this one is big, mostly because it depends on...
 
=== optimize first run ===
* {{Bugzilla|897156}} -- ... becoming a real packaged app.
 
 
== Performance bugs (general) ==
This is a listing of Marketplace bugs only, by priority. If a priority has not been applied, you will have to find it directly. [https://bugzilla.mozilla.org/buglist.cgi?priority=--&keywords=perf&keywords_type=allwords&list_id=9800214&resolution=---&query_format=advanced&product=Marketplace Here's a good place to start]
 
=== Open P1-P3 ===
=== Open P1-P3 ===
<bugzilla>
<bugzilla>
Line 84: Line 128:


== Performance data dashboard ==
== Performance data dashboard ==
Not sure how these apply to bugs yet, because not sure how these poll yet. But here they are:
Not sure how these apply to bugs yet, because not sure how these poll yet. We're discussing other measurement tools, but here's what there is now:


* [https://metaplace.paas.allizom.org/apikiosk/ API Speed dashboard]
* [https://metaplace.paas.allizom.org/apikiosk/ API Speed dashboard]
* [http://eideticker.mozilla.org/b2g/#/inari/b2g-marketplace-startup/timetostableframe Time to full display of Marketplace app (warm)]
* [http://eideticker.mozilla.org/b2g/#/inari/b2g-marketplace-startup/timetostableframe Time to full display of Marketplace app (warm)]
* [http://dashboard.mktadm.ops.services.phx1.mozilla.com/graphite-api (VPN required) ops level dashboard]
* [http://dashboard.mktadm.ops.services.phx1.mozilla.com/graphite-api (VPN required) ops level dashboard]

Revision as of 22:50, 28 March 2014

This is a page to aggregate information about Marketplace performance efforts; it will be maintained as they morph into and overlap with Tarako-specific issues.

Want to contribute?

Log new bugs in Bugzilla, with the "perf" keyword

Ask about things in #marketplace.

Mitigation strategies

The short version is that we need to optimize things that should be optimized regardless of other constraints (device constraints, network constraints, etc). Only then can we differentiate between strategic investment and Doing Things The Right Way.

At a high level, these are the strategies being considered:

  1. Feature/Memory/Device detection (reliable) (900241)
  2. Speed and Performance bugs, general at this point (see below)
    1. Establish target benchmarks & KPIs for performance
      1. low-bandwidth, cold
      2. high-bandwidth, cold
      3. low-bandwidth, warm
      4. high-bandwidth, warm
  3. Front and Back-end Performance adjustments (pending benchmark results)

Possibly Tarako-specific:

  1. Front and Back-end Performance adjustments
    1. new "low resource" responsive state
    2. Filtering apps for device (UI)
    3. payment flow slimming/changes?
  2. UI updates to accommodate RTL & other local language requirements (pending target markets)


Open issues

These are immediate questions:

These are future issues:


Performance bugs, first batch

These bugs have been identified as delivering good performance increases; they are grouped here for ease of consideration. With two exceptions, they are fairly simplistic in effort. All bugs are open unless

Note that not all of these are Marketplace bugs, and thus not all are in the priority groupings at the bottom of the page.

overall speed

improve API response time

improve caching techniques

optimize asset delivery

optimize synchronous delivery

  • 847679 -- this one is big, mostly because it depends on...

optimize first run

  • 897156 -- ... becoming a real packaged app.


Performance bugs (general)

This is a listing of Marketplace bugs only, by priority. If a priority has not been applied, you will have to find it directly. Here's a good place to start

Open P1-P3

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Open P4-P5

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Resolved: Fixed

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Resolved: Deferred

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Performance data dashboard

Not sure how these apply to bugs yet, because not sure how these poll yet. We're discussing other measurement tools, but here's what there is now: