Squid purge benchmarks

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

When pages are saved, the prior version of the page has to be purged from the squids. Additionally, other pages may have to be purged to reflect changes in the link state on creation or deletion. Since this is done during the save period, it adds to the perceived slowness of the wiki if it takes a long time when editing.

Methodology[edit]

Each run purges a bunch of randomly generated titles (unlikely to be real hits), givings times as an average of four runs for SquidUpdate::purge(). For double confirmation I ran the script twice iin each configuration.

New benchmarks[edit]

After recent changes by Tim and Gabriel to reduce the amount of waiting on input. The function can now return sooner.

Done circa Sat Jan 22 01:00:10 UTC 2005

NOTE: The results here are a bit odd, and may reflect the already-open sockets not behaving correctly on multiple trials.

There are 7 defined squid servers:
   1 titles in  92.56ms ( 92.56ms each)
  10 titles in   1.85ms (  0.19ms each)
 100 titles in 119.59ms (  1.20ms each)
There are 7 defined squid servers:
   1 titles in  92.22ms ( 92.22ms each)
  10 titles in   1.59ms (  0.16ms each)
 100 titles in 120.62ms (  1.21ms each)

New benchmarks (single invocation)[edit]

For these trials the script has been modified to do a single trial (rather than 4 averaged as in the old benchmarks), and each count-of-titles trial set is done from a separate script invokation.

$ for x in 1 10 100 200 500 1000; do php benchmarkPurge.php --count=$x; done

All Florida and Paris[edit]

There are 7 defined squid servers:
   1 titles in 365.76ms (365.76ms each)
  10 titles in 366.51ms ( 36.65ms each)
 100 titles in 369.71ms (  3.70ms each)
 200 titles in 1005.73ms (  5.03ms each)
 500 titles in 1750.60ms (  3.50ms each)
1000 titles in 2565.34ms (  2.57ms each)
   1 titles in 365.78ms (365.78ms each)
  10 titles in 366.88ms ( 36.69ms each)
 100 titles in 370.41ms (  3.70ms each)
 200 titles in 897.14ms (  4.49ms each)
 500 titles in 1622.13ms (  3.24ms each)
1000 titles in 2479.79ms (  2.48ms each)


All Florida[edit]

There are 4 defined squid servers:
   1 titles in   2.61ms (  2.61ms each)
  10 titles in   2.15ms (  0.21ms each)
 100 titles in   3.99ms (  0.04ms each)
 200 titles in   8.41ms (  0.04ms each)
 500 titles in  14.22ms (  0.03ms each)
1000 titles in 193.66ms (  0.19ms each)
   1 titles in   2.20ms (  2.20ms each)
  10 titles in   2.37ms (  0.24ms each)
 100 titles in   3.90ms (  0.04ms each)
 200 titles in   8.03ms (  0.04ms each)
 500 titles in  14.37ms (  0.03ms each)
1000 titles in 157.35ms (  0.16ms each)

All Paris[edit]

There are 3 defined squid servers:

   1 titles in 363.49ms (363.49ms each)
  10 titles in 365.49ms ( 36.55ms each)
 100 titles in 366.06ms (  3.66ms each)
 200 titles in 1427.74ms (  7.14ms each)
 500 titles in 1603.00ms (  3.21ms each)
1000 titles in 2372.82ms (  2.37ms each)
   1 titles in 364.61ms (364.61ms each)
  10 titles in 368.08ms ( 36.81ms each)
 100 titles in 368.50ms (  3.69ms each)
 200 titles in 892.41ms (  4.46ms each)
 500 titles in 1609.10ms (  3.22ms each)
1000 titles in 2374.95ms (  2.37ms each)


Benet only[edit]

There are 1 defined squid servers:
   1 titles in   0.74ms (  0.74ms each)
  10 titles in   0.60ms (  0.06ms each)
 100 titles in   1.11ms (  0.01ms each)
 200 titles in   1.83ms (  0.01ms each)
 500 titles in   3.41ms (  0.01ms each)
1000 titles in  22.30ms (  0.02ms each)
   1 titles in   0.65ms (  0.65ms each)
  10 titles in   0.67ms (  0.07ms each)
 100 titles in   1.59ms (  0.02ms each)
 200 titles in   2.02ms (  0.01ms each)
 500 titles in   3.01ms (  0.01ms each)
1000 titles in  22.08ms (  0.02ms each)


Chloe only[edit]

There are 1 defined squid servers:
   1 titles in 121.33ms (121.33ms each)
  10 titles in 121.85ms ( 12.19ms each)
 100 titles in 122.25ms (  1.22ms each)
 200 titles in 261.98ms (  1.31ms each)
 500 titles in 488.39ms (  0.98ms each)
1000 titles in 628.66ms (  0.63ms each)

   1 titles in 121.70ms (121.70ms each)
  10 titles in 121.95ms ( 12.20ms each)
 100 titles in 121.82ms (  1.22ms each)
 200 titles in 260.19ms (  1.30ms each)
 500 titles in 492.45ms (  0.98ms each)
1000 titles in 737.37ms (  0.74ms each)

Old benchmarks[edit]

Purging squids iswas kind of slow. Page saves and some other operations required waiting for purges requests to be sent out to a bunch of squids. This adds to the perceived slowness of the wikis.

Script execution done on zwinger, at a fairly non-peak time (shortly before Thu Jan 20 06:54:28 UTC 2005)


Results[edit]

Single server[edit]

There are 1 defined squid servers:
   1 titles in  21.36ms ( 21.36ms each)
  10 titles in  87.83ms (  8.78ms each)
 100 titles in 1740.80ms ( 17.41ms each)

   1 titles in  16.26ms ( 16.26ms each)
  10 titles in  92.27ms (  9.23ms each)
 100 titles in 1062.86ms ( 10.63ms each)


All Florida[edit]

There are 4 defined squid servers:
   1 titles in 887.10ms (887.10ms each)
  10 titles in 1903.01ms (190.30ms each)
 100 titles in 19758.60ms (197.59ms each)

   1 titles in 2315.17ms (2315.17ms each)
  10 titles in 4379.01ms (437.90ms each)
 100 titles in 9411.81ms ( 94.12ms each)


All Paris[edit]

There are 3 defined squid servers:
   1 titles in 981.82ms (981.82ms each)
  10 titles in 1955.01ms (195.50ms each)
 100 titles in 14381.14ms (143.81ms each)

   1 titles in 1078.48ms (1078.48ms each)
  10 titles in 1999.22ms (199.92ms each)
 100 titles in 18768.18ms (187.68ms each)


All Florida and Paris[edit]

There are 7 defined squid servers:

   1 titles in 1519.25ms (1519.25ms each)
  10 titles in 3939.89ms (393.99ms each)
 100 titles in 38019.83ms (380.20ms each)

   1 titles in 2535.67ms (2535.67ms each)
  10 titles in 4384.00ms (438.40ms each)
 100 titles in 37334.04ms (373.34ms each)