Linux 软件免费装
Banner图

Dragon Speed Doctor - Find What Slows Your Site Down

开发者 dragoncoreltd
更新时间 2026年10月3日 01:15
PHP版本: 8.0 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

speed performance slow site speed plugin profiler

下载

1.1.3 1.1.6 1.1.5 1.1.7 1.0.5 1.0.6 1.0.7 1.1.0 1.1.1 1.1.2 1.1.4 1.1.8

详情介绍:

Every slow WordPress site raises the same question: which plugin is doing this? Dragon Speed Doctor answers it with measurements, not guesswork. Install the measurement loader, press Run diagnosis, and the doctor times your site over a few minutes of internal test requests, with each plugin briefly left out of those test requests only, then tells you what each plugin actually costs: Visitors are never affected: plugin loading is only altered for the doctor's own internal, cryptographically signed test requests. Your live traffic always sees the site exactly as configured. Features Everything above is free, fully functional and unlimited. How it measures The method is built for noisy shared hosting: repeated interleaved timings, medians with confidence bands, warmup passes discarded, early stopping when a result is already clear, retries for passing server errors, and honest "inconclusive" verdicts when server noise wins. Script and stylesheet weight counts towards a plugin's badge only for what it loads on front-end pages; wp-admin-only assets are listed on the Assets tab but never described as shipped to visitors. A pre-scan check verifies your site can be measured (loopback requests allowed, no page cache serving the test requests, no background jobs adding noise) before anything runs. The measurement loader Timing a plugin's absence requires briefly loading the site without it, for signed internal requests only. A small helper file in mu-plugins does this. It is installed only when you click Install loader on the Doctor screen (or run wp speed-doctor scan), shown there with its status, does nothing for any normal request, and is removed automatically when you deactivate the plugin. Once installed, it is brought up to date by itself after each plugin update, and a loader you removed stays removed. Dragon Speed Doctor Pro Dragon Speed Doctor Pro is an optional annual add-on that keeps the doctor running: Nothing in this plugin is locked or limited without it.

安装:

  1. Upload the dragon-speed-doctor folder to /wp-content/plugins/, or install via the Plugins screen.
  2. Activate the plugin.
  3. Go to Tools → Speed Doctor, install the measurement loader, and run a diagnosis.

屏幕截图:

  • Results: plain-English verdicts with impact badges, worst first. Low-impact plugins are folded away.
  • Assets: what every plugin ships to your pages, with render-blocking counts.
  • Database: autoloaded option weight and probable owners.
  • A diagnosis running: preflight checks passed, with live progress and elapsed time.

升级注意事项:

1.1.8 Security checks now run inside every action. Scans measure exactly as before. 1.1.7 Multisite: only network administrators measure network-activated plugins. Slow pages get a timeout that fits them. 1.1.6 Fewer invented results on noisy hosts, a broken page no longer blames every plugin, and the loader refreshes itself after updates. Recommended for everyone. 1.1.5 More accurate results when a plugin breaks a page, and network plugins are measured. 1.1.4 More honest verdicts, and scans you can resume or cancel. 1.1.3 Translation-ready throughout. 1.1.2 Mentions the new Dragon Speed Doctor Pro add-on. No changes to how diagnoses work. 1.1.1 Small fixes: no PHP warnings when a diagnosis has no wp-admin measurements, and a sturdier measurement loader. 1.1.0 Fixes the preflight check on sites whose homepage redirects, and records versions and overall page times with each diagnosis. After updating, press Update loader once on the Doctor tab (WP-CLI scans update it automatically). 1.0.7 A clearer Doctor screen: the loader and the scan are now two numbered steps, results open with a summary, and several error states are fixed. 1.0.4 Fixes asset sizes and plugin attribution on subdirectory, relocated wp-content and mixed-scheme sites, and the loopback base on subdirectory installs. Recommended for everyone. 1.0.3 Wording only. No functional changes. 1.0.2 Readme and comment corrections only; no functional change. 1.0.1 Safety fix: a measurement run can no longer leave other plugins deactivated, and stalled scans self-recover. 1.0.0 First release.

常见问题:

Why is my WordPress site slow?

Usually one of four things: a plugin doing heavy work on every request, a plugin shipping large scripts to every page, bloated autoloaded options in the database, or slow hosting. The doctor measures the first three directly and tells you which plugin is responsible, so you fix the actual cause instead of guessing.

Is it safe to run on a live site?

Yes, with one caveat. Visitors are never served a modified site. Plugin loading changes only for the doctor's own signed internal requests. The caveat: a scan sends a few hundred requests to your server over several minutes, which adds load. On a busy site, run it at a quiet time, or enable host-safe mode in Settings to slow it down further.

How is this different from Query Monitor?

Query Monitor is a superb developer tool that inspects the current request in deep technical detail. The doctor answers a different question, namely which plugin to blame, by measuring whole pages with and without each plugin, and it answers in sentences rather than stack traces. Many people will want both.

Is this a profiler?

Not in the function-call sense. It does not hook into PHP or list which functions ran. It measures whole page loads with and without each plugin, so the result is a per-plugin cost in milliseconds rather than a call tree. The asset and database audits are separate, single-pass checks.

Why is a plugin measured together with others?

Some plugins fatal when a plugin they depend on is missing, such as a WooCommerce extension without WooCommerce. When a plugin declares that dependency, the doctor measures the group as a whole, and the verdict names every plugin in it.

Why does a plugin say "could not be measured"?

If the site keeps returning a server error whenever one plugin is left out of the test requests, something else on the site probably depends on it without declaring so. The same goes for a page that loads normally with every plugin active but answers not-found, another error, or nothing at all while that one plugin is left out. The doctor retries a few times in case the error was a passing hiccup, then reports the plugin as could not be measured, with the error code, rather than guessing at its cost. The page is still measured for every other plugin.

Does it work on multisite?

Yes. Each site runs its own diagnosis. Plugins activated for the whole network are measured along with the site's own when the diagnosis is run by a network administrator, by a schedule or from WP-CLI; a site administrator's diagnosis covers the site's own plugins. The measurement loader in mu-plugins is shared by the network, so deactivating the doctor on one site removes it until it is installed again from the Doctor screen; the preflight blocks a scan with that reason rather than reporting every plugin as harmless. Uninstalling removes the data of every site that opted in.

Can I close the tab during a diagnosis?

A diagnosis started from the Doctor tab runs while that tab is open. If you reload or come back to the Doctor tab within 15 minutes, it carries on where it stopped; the Doctor tab also offers Cancel diagnosis while one is running.

Does it work behind a reverse proxy or in a container?

Usually yes, automatically. If your server cannot reach its own public URL, define DRAGONSPEEDDOCTOR_LOOPBACK_BASE in wp-config.php with an address the server can reach (for example http://app-container or a private IP). Only the scheme, host and port are used; any path on the address is ignored because each request keeps its own path. The doctor keeps the correct Host header so WordPress routes normally. For safety the override is honoured only when the host is localhost, a loopback, private or link-local IP address written in full (dotted IPv4 or bracketed IPv6), or a hostname whose every DNS address is in one of those ranges. Anything else, including a name that does not resolve, is ignored, so measurement traffic never leaves your infrastructure.

更新日志:

1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0