From my cheap VPS in LA:
ab -n20 'https://en.wikipedia.org/w/api.php?format=json&uselang=en&action=visualeditor&paction=parse&page=Barack_Obama' Server Software: nginx/1.1.19 Server Hostname: en.wikipedia.org Server Port: 443 SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128 Document Path: /w/api.php?format=json&uselang=en&action=visualeditor&paction=parse&page=Barack_Obama Document Length: 4095263 bytes Concurrency Level: 1 Time taken for tests: 144.733 seconds Complete requests: 20 Failed requests: 0 Total transferred: 81918086 bytes HTML transferred: 81905260 bytes Requests per second: 0.14 [#/sec] (mean) Time per request: 7236.634 [ms] (mean) Time per request: 7236.634 [ms] (mean, across all concurrent requests) Transfer rate: 552.73 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 43 61 56.6 47 296 Processing: 2168 7176 7539.6 4625 34548 Waiting: 1960 4308 908.8 4367 5470 Total: 2211 7237 7572.9 4669 34642 Percentage of the requests served within a certain time (ms) 50% 4669 66% 5457 75% 5549 80% 6142 90% 20672 95% 34642 98% 34642 99% 34642 100% 34642 (longest request)
To rule out that this is caused by https, I repeated the experiment with http:
ab -n20 'http://en.wikipedia.org/w/api.php?format=json&uselang=en&action=visualeditor&paction=parse&page=Barack_Obama' This is ApacheBench, Version 2.3 <$Revision: 1604373 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking en.wikipedia.org (be patient).....done Server Software: Apache Server Hostname: en.wikipedia.org Server Port: 80 Document Path: /w/api.php?format=json&uselang=en&action=visualeditor&paction=parse&page=Barack_Obama Document Length: 4095263 bytes Concurrency Level: 1 Time taken for tests: 181.187 seconds Complete requests: 20 Failed requests: 0 Total transferred: 81917216 bytes HTML transferred: 81905260 bytes Requests per second: 0.11 [#/sec] (mean) Time per request: 9059.367 [ms] (mean) Time per request: 9059.367 [ms] (mean, across all concurrent requests) Transfer rate: 441.52 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 12 115 309.1 14 1021 Processing: 2036 8944 4865.5 10475 16402 Waiting: 1879 3277 1041.4 4077 4464 Total: 2050 9059 5002.1 10492 17419 Percentage of the requests served within a certain time (ms) 50% 10492 66% 11933 75% 14249 80% 14588 90% 14840 95% 17419 98% 17419 99% 17419 100% 17419 (longest request)
This is on average more than four times slower than the equivalent content request directly to the parsoid caches, even after taking into account the slightly larger response body:
ab -n20 http://parsoid-lb.eqiad.wikimedia.org/enwiki/Barack_Obama?oldid=643768869 Server Software: Server Hostname: parsoid-lb.eqiad.wikimedia.org Server Port: 80 Document Path: /enwiki/Barack_Obama?oldid=643768869 Document Length: 3592164 bytes Concurrency Level: 1 Time taken for tests: 28.005 seconds Complete requests: 20 Failed requests: 0 Total transferred: 71853606 bytes HTML transferred: 71843280 bytes Requests per second: 0.71 [#/sec] (mean) Time per request: 1400.269 [ms] (mean) Time per request: 1400.269 [ms] (mean, across all concurrent requests) Transfer rate: 2505.57 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 69 70 1.4 69 73 Processing: 862 1330 319.4 1348 2092 Waiting: 88 233 321.8 95 1322 Total: 931 1400 319.6 1418 2161 Percentage of the requests served within a certain time (ms) 50% 1418 66% 1528 75% 1552 80% 1628 90% 1867 95% 2161 98% 2161 99% 2161 100% 2161 (longest request)
All requests are Parsoid Varnish hits, as witnessed by hit/200 entries in the logs on cp1045.