Pages with large number of thumbnails tends to be a slow path in the
parser. This is even more true for people using instant commons. I dont
know for sure, but I imagine it could be improved by batching the checks
for finding image width/height (that might be a difficult change to make
though).

--
Bawolff

On Saturday, May 28, 2016, Pine W <wiki.p...@gmail.com> wrote:
> Thank you for the update. FWIW, a page that I load frequently that takes a
> long time is Commons' featured picture candidates. My guess is that
> starting with the implementation of HHVM and with smaller improvements
> thereafter, the page load time had been reduced by more than 50%, which is
> impressive and much appreciated.
>
> Pine
> On May 27, 2016 15:28, "Ori Livneh" <o...@wikimedia.org> wrote:
>
>> Hello,
>>
>> Here's what the performance team has been up to.
>>
>> == Dashboards & instrumentation ==
>> We spent time instrumenting software and curating displays of performance
>> data. We have several new dashboards to share with you:
>>
>> * Global edit rate and save failures (new)
>>   https://grafana.wikimedia.org/dashboard/db/edit-count
>>
>> * Performance metrics (revamped)
>>   https://grafana-admin.wikimedia.org/dashboard/db/performance-metrics
>>
>> * Page load performance
>>   https://grafana.wikimedia.org/dashboard/db/navigation-timing
>>
>>   ...by continent:
>> https://grafana.wikimedia.org/dashboard/db/navigation-timing-by-continent
>>   ...by country  :
>>
https://grafana.wikimedia.org/dashboard/db/navigation-timing-by-geolocation
>>   ...by browser  :
>> https://grafana.wikimedia.org/dashboard/db/navigation-timing-by-browser
>>
>> * We found that certain browsers were reporting wildly inaccurate timing
>> data and skewing our summary performance metrics, and reacted by
validating
>> browser metric data more strictly against Navigation Timing API specs.
>>
>>
>> == ResourceLoader ==
>> ResourceLoader is the MediaWiki subsystem responsible for loading CSS,
>> JavaScript, and i18n interface messages for dynamic site features. It is
>> critical to site performance. Changes to ResourceLoader are focused on
>> reducing backend response time, ensuring we make efficient use of the
>> browser cache, and reducing time to first paint (the time it takes any
>> content to appear). This work is led by Timo Tijhof.
>>
>> * The "/static/$mwBranch" entry point has been deprecated and removed in
>> favor of wmfstatic - a new multiversion-powered entrypoint accessed via
>> "/w" (via RewriteRule)
>>   https://phabricator.wikimedia.org/T99096
>>
>> * Restricting addModuleStyles() to style-only modules (ongoing)
>>   https://phabricator.wikimedia.org/T92459
>>
>> * Startup module check is now based on a feature test instead of browser
>> blacklist
>>   https://phabricator.wikimedia.org/T102318
>>
>>
>> == WebPageTest ==
>> Page load performance varies by browser, platform, and network. To
>> anticipate how code changes will impact page performance for readers and
>> editors, we use WebPageTest (
>> https://wikitech.wikimedia.org/wiki/WebPageTest),
>> a web performance browser automation tool. WebPageTest loads pages on
>> Wikimedia wikis using real browsers and collects timing metrics. This
work
>> is led by Peter Hedenskog.
>>
>> * We now generate waterfall charts for page loads on Firefox. Previously
we
>> were only able to produce them with Chrome.
>>
>> * We tracked downs two bugs in WebPageTest that caused it to report an
>> incorrect value for time-to-first-byte and reported them upstream.
>>   https://phabricator.wikimedia.org/T130182
>>   https://phabricator.wikimedia.org/T129735
>>
>> * We upgraded the WebPageTest agent instance after observing variability
in
>> measurements when the agent is under load.
>>   https://phabricator.wikimedia.org/T135985
>>
>> * We designed a new dashboard to help us spot performance regressions
>>   https://grafana.wikimedia.org/dashboard/db/webpagetest
>>
>>
>> == Databases ==
>> The major effort in backend performance has been to reduce replication
lag.
>> Replication lag occurs when a slave database is not able to reflect
changes
>> on the master database quickly enough and falls behind. Aaron Schulz set
>> out to bring peak replication lag down from ten seconds to below five, by
>> identifying problematic query patterns and rewriting them to be more
>> efficient. We are very close to hitting that target: replication lag is
>> almost entirely below five seconds on all clusters.
>>
>> https://phabricator.wikimedia.org/T95501
>>
>> * High lag on databases used to generate special pages no longer stops
job
>> queue processing
>>   https://phabricator.wikimedia.org/T135809
>>
>> == Multi-DC ==
>> "Multi-DC" refers to ongoing work to make it possible to serve reads
from a
>> secondary data center. Having MediaWiki running and serving requests in
>> more than one data center will reduce latency and improve site
reliability.
>> This project is led by Aaron Schulz.
>>
>> In order for this to be possible, we need to be able to anticipate which
>> requests will need the master database, so we can route them accordingly.
>> The plan is to achieve this by making sure that GET requests never
require
>> a master database connection. We've made progress incremental progress
>> here, most recently by changing action=rollback to use JavaScript to
>> perform HTTP POST requests.
>>
>> We also need to be able to broadcast cache purges across data centers.
The
>> major work on this front has been the addition to core of EventBus
classes
>> that relay cache proxy and object cache purges. Stas Malyshev of the
>> discovery team is assisting with this work.
>>
>> == Thumbor ==
>> "Thumbor" is shorthand for the project to factor thumbnail rendering out
of
>> MediaWiki and into a standalone service based on Thumbor (
>> http://thumbor.org/). This project is led by Gilles Dubuc. The following
>> list summarizes recent progress:
>>
>> - Simplified the VCL as much as possible
>> - Added client throttling with the tbf vmod
>> - Added progressive JPEG support to ImageMagick engine
>> - Added configurable chroma subsampling support
>> - Made SVG detection more robust
>> - Added multilanguage SVG support
>> - Reproduced temp folder security mechanism found in MediaWiki for SVG
for
>> all file types
>> - Swift's rewrite.py ported to vagrant. On Vagrant thumbor now hooks
itself
>> into the same point in the stack it will in production
>> - Swift storage implemented (shard support left to do)
>> - Matched Content-Disposition behavior to MediaWiki
>> - Vastly increased performance on JPEG processing by using a long-running
>> exiftool process and named pipes to pass commands to it
>> - Made one instance of thumbor run on each available core on vagrant,
since
>> thumbor is single-threaded
>> - Debian packaging well under way:
>> https://phabricator.wikimedia.org/T134485
>> all dependencies covered except one. 14 backports and 17 new packages so
>> far. Working with Filippo to get as many of these into Debian proper as
>> possible.
>>
>> Until next time,
>>
>> Aaron, Gilles, Ori, Timo, and Peter
>> _______________________________________________
>> Wikitech-l mailing list
>> Wikitech-l@lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to