After the outage of T243713: Time-out error; Babel/WikibaseRepo being somehow uncached, overloading the API, and causing general outage caused by T243725: HtmlPageLinkRendererBeginHookHandler creates a LanguageFallbackChain when it may not be needed, it would be a good to audit common bits of Wikibase/Wikidata to find some more performance bottlenecks avoiding issues in the future.
Some common parts are:
- Rendering an item
- Rendering a lexeme (Part I, Part II)
- Spent 52% of the time in AutoLoader::autolaod(). (Also memory-wise it's super big) PSR-4 would fix lots of issues there: T172368: Make the Wikibase.git code base PSR-4 compatible
- Rendering a file page in Commons
- Nothing out of ordinary
- Rendering a non-entity page in a repo (whether it uses data or not)
- T243955: CachingPropertyInfoLookup doesn't cache lookups internally
- T243954: Cache SnakFormat::getFallbackChain() inside the class
- On main page of Commons, the biggest Wikibase usage comes from Wikibase\Repo\WikibaseRepo::getDefaultEntityTypes with 84 *micro*seconds, I guess nothing to do there.
- Special:EntityData
- Rendering an page in client that uses Wikidata's data. (Part I, Part II)
- api.php in Wikidata
- Nothing out of ordinary.
- load.php in Wikidata (Part I, Part II)
- Nothing out of ordinary, Wikibase-side.