Rework the documentation on optimization/scaling.

Review Request #12847 — Created Feb. 25, 2023 and submitted — Latest diff uploaded


Review Board


This redoes most of the documentation on optimizing Review Board,
renaming it to "Optimizing and Scaling Review Board."

The new version of the guide starts off by discussing the main choke
points for Review Board (database and memcached, repositories,
integrations, and auth backends).

It then goes into recommended hardware, replacing the old "Hardware"
section. This gives more modern, concrete recommendations for CPU, RAM,
and disk.

It then contains a new version of the formerly standalone "Optimizing
Memcached" page, which walks users through actually configuring new
settings for supported distros.

The next section is new: "Setting Diff Limits." This goes into how to
set a maximum diff size, maximum number of lines for syntax
highlighting, and the importance of having these defaults (including
touching upon the chance of user push-back on settings, and how to
address those).

The old "Multi-Server Strategy" section is now "Scaling Your
Deployment." It talks about scaling out the database, memcached, and web
servers as before, but in a bit more detail. A new "Load Balancer"
section has also been added.

And finally, a new "Troubleshooting Performance Problems" section, which
talks about the issues that can occur when large diffs are posted
without a limit, when repositories are slow, or when the system is

The old "Optimizing MySQL" page has been removed, as nothing in there
is really applicable anymore to modern versions of MySQL.

Built the docs and read through them. Checked for spelling errors,
bad links, and build issues.