Making WordPress.org

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#5310 closed defect (bug) (maybelater)

Improve WordPress.org Server Performance - globally

Reported by: thegulshankumar's profile thegulshankumar Owned by:
Milestone: Priority: normal
Component: WordPress.org Site Keywords:
Cc:

Description

Exact prorblem: Slow download from WordPress.org server

Downloading update from https://wordpress.org/nightly-builds/wordpress-latest.zip…

Download failed.: cURL error 28: Operation timed out after 300007 milliseconds with 15711991 out of 19178791 bytes received

Installation Failed

Sometime this problem becomes a reason for going WordPress down with Maintenance mode for very long time.

It seems wordpress.org server need serious upgrade.

Proof of concept
TTFB goes 800+ms https://tools.keycdn.com/performance?url=https://wordpress.org/latest.zip

Normal CMD at my location shows ping response time 300ms which should be improved to 50ms to have great experience like a CDN.

Thanks

Change History (8)

#1 @dd32
4 years ago

  • Keywords reporter-feedback added

Hi @thegulshankumar can you provide any further details here?

While I agree it's not great that the response time from some parts of the world are not amazingly fast, the provided error message suggests that the connection averaged 512KB/s over 30seconds which is much slower than I would anticipate for most servers.

If this is on a residential connection (or a speed-limited server), which 512KB/s suggests, then the WordPress.org servers aren't the limitation here, it's simply that the ZIP files are much larger than the connection can handle.

WordPress internally increases the timeout for the ZIP downloads from 5s to 30s to account for slower connections, but that's obviously not high enough in this case.

I would suggest that in this specific situation, you should consider increasing all HTTP timeouts, which can be done through a plugin such as the following:

<?php
/*
 * Plugin Name: Increase HTTP Timeouts to a minimum of 60s.
 */
add_filter( 'http_request_timeout', function( $timeout ) {
   return max( 60, $timeout ); // Minimum of 60s timeouts.
} );
Last edited 4 years ago by dd32 (previous) (diff)

#2 @thegulshankumar
4 years ago

I think you're right, that time my Internet was slow for localhost XAMPP server.

Either way, If I am doing tracert from India, WordPress should be routing me to India instead of United States to have low-latency and faster download.

Mumbai (IN)

root@linode:~# mtr -rwbzc100 198.143.164.252
Start: 2020-07-09T10:42:46+0000
HOST: linode                                                              Loss%   Snt   Last   Avg  Best  Wr                                                           st StDev
  1. AS63949  gw-li1967.linode.com (172.105.33.1)                                0.0%   100    0.2   0.1   0.1   0                                                           .7   0.1
  2. AS???    10.214.64.5                                                        0.0%   100    0.2   0.3   0.2   2                                                           .3   0.3
  3. AS???    10.214.32.32                                                       0.0%   100    0.8   1.9   0.7  14                                                           .2   2.6
  4. AS???    10.214.32.1                                                        0.0%   100    1.4   1.1   0.2  24                                                           .2   2.9
  5. AS???    100.76.112.61                                                      0.0%   100    0.7   1.3   0.4  42                                                           .5   4.3
  6. AS???    172.28.132.238                                                     0.0%   100    1.3   2.1   1.2  24                                                           .0   3.1
  7. AS6453   ix-ae-0-100.tcore1.mlv-mumbai.as6453.net (180.87.38.5)             3.0%   100    1.5   1.8   1.3  23                                                           .2   2.2
  8. AS6453   if-ae-5-2.tcore1.wyn-marseille.as6453.net (80.231.217.29)         99.0%   100  103.8 103.8 103.8 103                                                           .8   0.0
  9. AS6453   if-ae-8-1600.tcore1.pye-paris.as6453.net (80.231.217.6)           73.0%   100  105.1 104.2 103.8 106                                                           .2   0.6
 10. AS6453   if-ae-11-2.tcore1.pvu-paris.as6453.net (80.231.153.49)             0.0%   100  103.5 104.2 103.4 131                                                           .1   3.1
 11. AS6461   ae12.mpr1.cdg11.us.zip.zayo.com (64.125.14.49)                     0.0%   100  104.2 104.7 103.3 135                                                           .2   4.5
 12. AS6461   ae27.cs1.cdg11.fr.eth.zayo.com (64.125.29.4)                       0.0%   100  209.9 208.8 207.8 216                                                           .9   1.8
 13. AS6461   ae0.cs1.cdg12.fr.eth.zayo.com (64.125.29.84)                       0.0%   100  206.2 206.5 206.1 212                                                           .0   1.0
 14. AS6461   ae2.cs3.lhr11.uk.eth.zayo.com (64.125.29.25)                      97.0%   100  208.6 208.9 208.6 209                                                           .3   0.3
 15. AS6461   ae5.cs3.lga5.us.eth.zayo.com (64.125.29.126)                       2.0%   100  205.6 206.4 205.4 213                                                           .7   1.5
 16. AS6461   ae3.cs3.ord2.us.eth.zayo.com (64.125.29.209)                      96.0%   100  205.8 205.9 205.8 206                                                           .2   0.2
 17. AS6461   ae11.er2.ord7.us.zip.zayo.com (64.125.26.251)                      0.0%   100  208.3 208.9 208.1 228                                                           .9   2.9
 18. AS6461   128.177.108.98.IPYX-142927-900-ZYO.zip.zayo.com (128.177.108.98)   0.0%   100  232.6 233.6 232.4 309                                                           .4   7.7
 19. AS32475  agg1.c13.r03.s101.chi03.singlehop.net (108.178.47.247)             0.0%   100  231.9 231.9 231.7 233                                                           .4   0.3
 20. AS32475  wordpress.org (198.143.164.252)                                    0.0%   100  231.7 232.1 231.6 237                                                           .9   0.9
root@linode:~#

Bengaluru (IN)

root@digitalocean:~# mtr -rwbzc 100 198.143.164.252
Start: 2020-07-09T16:50:20+0000
HOST: digitalocean                                        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS???    ???                                                       100.0   100    0.0   0.0   0.0   0.0   0.0
  2. AS???    10.66.4.40                                                 0.0%   100    0.4   0.9   0.4  10.2   1.3
  3. AS???    138.197.249.0                                              0.0%   100    0.4   0.7   0.3  16.7   2.0
  4. AS9498   202.56.198.29                                              0.0%   100    1.7   2.5   1.0  30.5   3.6
  5. AS9498   116.119.57.97                                              0.0%   100  115.0 115.6 114.6 133.3   2.5
  6. AS???    ???                                                       100.0   100    0.0   0.0   0.0   0.0   0.0
  7. AS9498   116.119.57.26                                              0.0%   100   20.3  22.1  20.2  77.3   6.3
  8. AS9498   182.79.222.81                                              0.0%   100  115.8 117.7 115.1 154.6   6.9
  9. AS1299   mei-b3-link.telia.net (62.115.42.118)                      0.0%   100  122.2 122.6 122.1 138.6   1.9
 10. AS1299   prs-bb4-link.telia.net (62.115.114.196)                   95.0%   100  239.3 239.4 239.3 239.8   0.2
 11. AS1299   ldn-bb4-link.telia.net (62.115.114.228)                    1.0%   100  242.4 241.5 239.7 269.9   6.2
 12. AS1299   nyk-bb3-link.telia.net (62.115.112.244)                   61.0%   100  237.6 237.7 237.3 240.2   0.7
 13. AS1299   chi-b21-link.telia.net (80.91.246.162)                     0.0%   100  233.7 233.8 233.5 234.6   0.2
 14. AS1299   serverhub-ic-324864-chi-b21.c.telia.net (62.115.154.247)   0.0%   100  223.7 224.6 223.6 249.0   2.9
 15. AS32475  agg1.c13.r03.s101.chi03.singlehop.net (108.178.47.247)     0.0%   100  216.7 216.7 216.6 217.2   0.1
 16. AS32475  wordpress.org (198.143.164.252)                            1.0%   100  216.9 216.9 216.8 217.4   0.1
root@digitalocean:~#

Version 2, edited 4 years ago by thegulshankumar (previous) (next) (diff)

#3 @thegulshankumar
4 years ago

Apart from that it is affecting Dashboard login speed as well wherever api.wordpress.org is in use

https://youtu.be/WbC39MLV4qI

Pinging api.wordpress.org [198.143.164.251] with 32 bytes of data:
Reply from 198.143.164.251: bytes=32 time=528ms TTL=51
Reply from 198.143.164.251: bytes=32 time=343ms TTL=51
Reply from 198.143.164.251: bytes=32 time=317ms TTL=51
Reply from 198.143.164.251: bytes=32 time=314ms TTL=51

Ping statistics for 198.143.164.251:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 314ms, Maximum = 528ms, Average = 375ms

#4 @thegulshankumar
4 years ago

When I add below constant my dashboard load 100x faster

define('WP_HTTP_BLOCK_EXTERNAL', true);

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


4 years ago

#7 @dd32
4 years ago

  • Keywords reporter-feedback removed
  • Resolution set to maybelater
  • Status changed from new to closed

Marking this as maybelater as there's nothing that we can currently do here.

The WordPress.org website and API's will hopefully gain a distributed CDN / edges for API and downloads one day, but the meta team isn't in charge of that, and it's up to our systems engineers.

#8 @thegulshankumar
4 years ago

If possible please pass feedback to them.

Note: See TracTickets for help on using tickets.