plone / plone.app.redirector

Redirects to moved content after accessing old URLs
https://pypi.python.org/pypi/plone.app.redirector
4 stars 4 forks source link

Performance tests on Jenkins sometimes take too long. #20

Closed mauritsvanrees closed 4 years ago

mauritsvanrees commented 4 years ago

See comment on PlonePAS job. Error is for example:

Rebuilding the structure for migration takes too long: 0.12 seconds (max 0.1)

I think this may happen more often when multiple jobs are executed on the same server.

There may be smarter ways to measure how much time is really spent in calculations, instead of waiting until the process can continue. But for now we can lower the bar and allow these tests to take longer.

Note, if you make changes in plone.app.redirector that might influence performance, you should run more performance tests locally by exporting a environment variable, like this:

$ export PLONE_APP_REDIRECTOR_PERFORMANCE_NUMBER=1000000
$ bin/test -s plone.app.redirector -m test_performance
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
  Running:
    1/1 (100.0%)
Running plone.app.redirector storage performance tests.
Inserting 100 thousand individual items: 2.20 seconds (max 10.0)
Clearing storage: 0.03 seconds (max 0.3)
Preparing 1 million items for bulk import: 0.64 seconds (max 10.0)
Inserting 1 million prepared items in bulk: 13.62 seconds (max 100.0)
Getting length: 0.01 seconds (max 0.3)
Getting iterator: 0.00 seconds (max 0.3)
Listing all: 0.04 seconds (max 1.0)
Listing and getting each single one: 1.77 seconds (max 10.0)
Rebuilding the structure for migration: 6.22 seconds (max 10.0)

  Ran 1 tests with 0 failures, 0 errors, 0 skipped in 24.958 seconds.
Tearing down left over layers:
  Tear down zope.testrunner.layer.UnitTests in 0.000 seconds.

Jenkins sets no number, and the default number is ten thousand, which takes less than a second locally.