Page MenuHomePhabricator

Build Multimeter, a "why is Phabricator slow?" toolset
Closed, ResolvedPublic

Description

Although we have pretty good tools for understanding and resolving a performance problem once we can reproduce it (like the Service profiler, XHProf, and debug.time-limit), we have few tools for searching for performance problems or for attributing performance problems to a root cause when users complain that an entire install is slow but don't have a specific repro. Even for first party installs like this one, it's easy for something to consume substantial resources and escape notice -- for example, Slack continuously makes 4 API calls per second and I only caught that by seeing it in the access log.

Recording performance data would allow us to answer questions like:

  • What unreported performance problems are users experiencing?
  • How fast is Phabricator?
  • Is Phabricator getting faster or slower?
  • Which service calls have high variance and/or very poor worst case performance?
  • What are the highest-impact places to focus performance work?
  • Where are resources being spent?
    • Are there workload causes for poor performance (e.g., a bot making a trillion calls)?
    • In the Phacility use case, which instances are consuming disproportionate levels of resources?
    • In consulting use cases, where should we focus our efforts?

I think none of these are particularly pressing questions today, but I imagine that at least a first cut of this tool will be worth building sometime in 2015.

Event Timeline

epriestley raised the priority of this task from to Low.
epriestley updated the task description. (Show Details)
epriestley added a project: Performance.
epriestley added subscribers: epriestley, chad, btrahan.
epriestley renamed this task from Create a "why is Phabricator slow?" toolset to Build Multimeter, a "why is Phabricator slow?" toolset.May 3 2015, 1:47 PM
angie added a project: Restricted Project.Jun 5 2015, 7:47 PM

This exist and has at least been minimally useful in making it easier to improve package definitions, if nothing else.

angie moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Sep 10 2015, 4:52 PM