Last modified: 2014-05-27 21:57:03 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T58605, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 56605 - VisualEditor: Send Accept-encoding: gzip to Parsoid service
VisualEditor: Send Accept-encoding: gzip to Parsoid service
Status: RESOLVED WONTFIX
Product: VisualEditor
Classification: Unclassified
MediaWiki integration (Other open bugs)
unspecified
All All
: Normal normal
: ---
Assigned To: James Forrester
: performance
Depends on: 61507
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-05 07:17 UTC by Gabriel Wicke
Modified: 2014-05-27 21:57 UTC (History)
5 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Gabriel Wicke 2013-11-05 07:17:49 UTC
We want to cache gzipped responses in Varnish. For this to work all clients need to send an Accept-Encoding header that includes 'gzip'.
Comment 1 Gabriel Wicke 2013-11-19 18:58:09 UTC
This is important for performance, so setting priority to reflect that. Currently this causes Varnish to store uncompressed HTML, which reduces the hit rate significantly.
Comment 2 Gerrit Notification Bot 2013-12-13 23:46:46 UTC
Change 101454 had a related patch set uploaded by Jforrester:
Accept-Encoding: gzip for read requests from Parsoid

https://gerrit.wikimedia.org/r/101454
Comment 3 Gabriel Wicke 2014-01-05 20:32:37 UTC
Varnish actually transparently decompresses stored compressed content and strips the supplied Accept header in its backend request. Since mid-November we always return compressed content, and Varnish stores it in compressed form for a much better hit rate. So the impact is not as high as I thought:

1) it causes some extra CPU load in Varnish for decompression

2) it results in a larger network transfer on the internal network

Both have a very small performance impact. The Parsoid Varnish is basically idle CPU-wise and the internal network is fast.

Lowering the priority to reflect this.
Comment 4 Alex Monk 2014-02-25 02:14:43 UTC
As far as I can tell from reading the code, this should currently only be necessary if the PHP cURL extension is not installed. (And it would also be necessary to decode the response you get back.)

And really it should never be necessary - see bug 61507
Comment 5 Alex Monk 2014-02-25 02:19:37 UTC
And also I should mention that on my local setup with no Varnish in the middle, and cURL installed, MW requests a gzipped copy from Parsoid and receives it. And decodes it properly.

If I force it to use the PHP engine instead of cURL, it requests a non-gzipped version and receives it fine. This should be fixed in core rather than VE having to change anything.
Comment 6 James Forrester 2014-05-27 21:56:36 UTC
Appears intractable. :-(
Comment 7 Gerrit Notification Bot 2014-05-27 21:57:03 UTC
Change 101454 abandoned by Jforrester:
[WIP] Accept-Encoding: gzip for read requests from Parsoid

Reason:
Abandoning for now.

https://gerrit.wikimedia.org/r/101454

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links