Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 136
    • Merge requests 136
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !116

Merged
Created May 17, 2016 by Jérome Perrin@jeromeOwner

cloning website keeps __before_traverse__ from original website

  • Overview 10
  • Commits 7
  • Changes 4

@kazuhiko , since @vpelletier told me you knew websites :)

Each time a website is cloned, it keeps all the before traverse hooks from original website.

We can see for example this one has 8 before traverse hooks.

This seems harmless, but must have a small impact on performance.

If I use ab -n 1000 website with 1 before traverse hooks, I have:

Requests per second:    74.15 [#/sec] (mean)
Time per request:       13.485 [ms] (mean)

After cloning the web site 10 times, it will have 10 before traverse hooks. ab timing on this website becomes:

Requests per second:    68.14 [#/sec] (mean)
Time per request:       14.676 [ms] (mean)

If I clone 100 times, for a web site with 100 before traverse hooks, even if this becames unrealistic, it becomes:

Requests per second:    39.64 [#/sec] (mean)
Time per request:       25.227 [ms] (mean)

So I guess it is better to also do something to cleanup the old websites. This is especially on this part that I am not sure the approach is correct. I integrated in the existing code in WebSite._edit but shouldn't this be checkConsistency / fixConsistency ?

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: web_site_clone_before_traversal_hooks
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7