Identity/AttachedServices/DeploymentPlanning/UserModel: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(Blanked the page)
 
Line 1: Line 1:


== Overview ==
Herein we will construct a high-level aggregate model of how users will interact with the PICL backend services.  It's an attempt to inform capacity and loadtest planning based on some real data from existing services, some educated guesswork, and some hand-waving.
Assumptions:
* ten times as many users on the new system as there are on current sync.
* roughly similar per-user behaviour as current sync (e.g. data volume, change rates).
* roughly similar per-user keysigning/authentication overheads as current persona.
* err on the side of caution; overestimate in the face of ambiguity.
Raw data and some preliminary analysis can be found in https://id.etherpad.mozilla.org/picl-user-model
== Users and Devices ==
Due to the enormously more effective Setup/Signin UI, we should be ready to support the following very soon after launch time:
* 20 million total user accounts.
* 15 million active users hitting the service in a 24-hour period.
This is only a small fraction of the firefox userbase, but it's a lot more than current sync.
The number of devices per user is a power-law-distribution in current sync, and we anticipate the same for PICL.  Erring on the side of caution:
* 90% of users have 1 device
* 8% of users have 2 devices
* 2% of users have 3 devices
* negligible number of users with > 4 devices
The split between desktop and mobile device will mirror that seen in current sync:
* 85% of devices are desktop
* 15% of devices are mobile
== Account Operations ==
=== Create Account ===
During the changeover, we expect an influx of account setup activity as users migrate over.
* Let's say two weeks to get to 20 million user accounts.
** '''17 create-account operations per second'''
This should drop somewhat after initial release, so let's plan on that as peak capacity for now.
=== Register Device ===
There are 1.12 devices-per-user, which will all have to be registered when the users account is registered.  To allow for resets, upgrades, etc, that's also posit that each device needs to re-register itself once every two weeks:
* 19 register-device operations per second due to initial signup
* (20mil * 1.12) register-device operations every two weeks due to re-registration
** '''37 register-device operations per second'''
=== Sign Certificate ===
Certificates last for 1 hour.  Lets say each device is online and syncing for 12 hours each day, making 12 sign-certificate requests per device per day.
* (15mil * 1.12 * 12) sign-certificate requests per day
** '''2333 sign-certificate operations per second'''
=== Change Password ===
Rare.  Do we need to factor this in at this stage?
=== Detach Device ===
Rare.  Do we need to factor this in at this stage?
=== Delete Account ===
Rare.  Do we need to factor this in at this stage?
== Scrypt Helper ==
The scrypt helper is used by mobile devices during authentication aka "device registration".  At 37 register-device operations per second and 15% mobile devices, we have:
* '''5.5 scrypt-helper requests per second'''
=== History Data ===
=== Bookmarks Data ===
=== Passwords Data ===
=== Tabs Data ===

Latest revision as of 04:39, 13 August 2013