• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None

      I have a tree-like structure job layout as below:

      "Projects" Cloudbees folder contains 34 subproject folder
        subproject: "Project-A" Cloudbees folder contains 6 branch folders ( 5 multibranch job folder and 1 cloudbees folder )
          multibranch-job1 contains 295 matrix jobs (75 x 2 matrix combination)
          multibranch-job2 contains 317 matrix jobs (75 x 2 matrix combination)
          multibranch-job3 contains 189 matrix jobs (75 x 2 matrix combination)
          multibranch-job4 contains 15 matrix jobs (75 x 2 matrix combination)
          multibranch-job5 contains 5 matrix jobs (75 x 2 matrix combination)
          Cloudbees folder contains 4 matrix jobs (75 x 2 matrix combination)
        subproject: Project-B Cloudbees folder ....
          multibranch-job1 ...
          ... ...
        ... ... ...

      I found somehow no matter what kind of authorization strategy I choose,
      it's always taking longer time
      to open "Project-A" cloudbees folder (contains 6 items)
      than "Projects" folder (contains 34 items).

      Below is my benchmark:

        Chrome Chrome Firefox Firefox
      Authorization Method Open Projects Folder Open Project-A Folder Open Projects Folder Open Project-A Folder
      Anyone can do anything 2.10 sec 8.43 sec 5.99 sec 17.05 sec
      Logged-in users can do anything 3.97 sec 9.94 sec 7.97 sec 20.06 sec
      Initial default Role-based configuration - admin role 8.22 sec 14.54 sec 16.47 sec 28.55 sec
      Role-based configuration - admin role with 119 Project roles 18.81 sec 31.95 sec 37.7 sec 65

      I'm expecting it should be faster to open "Project-A" folder because it needs to process permission and load only 6 items,
      and slower to open "Projects" folder because it needs to process permissions and load for 34 items.

          [JENKINS-41722] Job folder loading performance scalability

          Rick Liu created issue -
          Rick Liu made changes -
          Description Original: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).

          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |
          New: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).

          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |
          Rick Liu made changes -
          Summary Original: Job folder loading performance difference in tree-like job structure New: Job folder loading performance is worse when folder contains fewer items
          Rick Liu made changes -
          Description Original: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).

          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |
          New: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).

          I'm expecting it should be faster to open "{{*Project-A*}}" folder because it needs to process permission and load only *6* items,
          and slower to open "{{*Projects*}}" folder because it needs to process permissions and load for *34* items.

          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |
          Rick Liu made changes -
          Description Original: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).

          I'm expecting it should be faster to open "{{*Project-A*}}" folder because it needs to process permission and load only *6* items,
          and slower to open "{{*Projects*}}" folder because it needs to process permissions and load for *34* items.

          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |
          New: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).



          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |

          I'm expecting it should be faster to open "{{*Project-A*}}" folder because it needs to process permission and load only *6* items,
          and slower to open "{{*Projects*}}" folder because it needs to process permissions and load for *34* items.
          Rick Liu made changes -
          Description Original: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).



          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |

          I'm expecting it should be faster to open "{{*Project-A*}}" folder because it needs to process permission and load only *6* items,
          and slower to open "{{*Projects*}}" folder because it needs to process permissions and load for *34* items.
          New: I have a tree-like structure job layout as below:
          || "Projects" Cloudbees folder | contains *34* subproject folder |
          || || subproject: "Project-A" Cloudbees folder | contains *6* branch folders ( *5* multibranch job folder and *1* cloudbees folder ) |
          || || || multibranch-job1 | contains 295 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job2 | contains 317 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job3 | contains 189 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job4 | contains 15 matrix jobs (75 x 2 matrix combination) |
          || || || multibranch-job5 | contains 5 matrix jobs (75 x 2 matrix combination) |
          || || || Cloudbees folder | contains 4 matrix jobs (75 x 2 matrix combination) |
          || || subproject: Project-B Cloudbees folder | .... |
          || || || multibranch-job1 | ... |
          || || || ... | ... |
          || || ... || ... | ... |

          I found somehow no matter what kind of authorization strategy I choose,
          it's always taking longer time
          to open "{{*Project-A*}}" cloudbees folder (contains *6* items)
          than "{{*Projects*}}" folder (contains *34* items).



          Below is my benchmark:
          || || Chrome || Chrome || Firefox || Firefox ||
          || Authorization Method || Open Projects Folder || Open Project-A Folder || Open Projects Folder || Open Project-A Folder ||
          || Anyone can do anything | 2.10 sec | 8.43 sec | 5.99 sec | 17.05 sec |
          || Logged-in users can do anything | 3.97 sec | 9.94 sec | 7.97 sec | 20.06 sec |
          || Initial default Role-based configuration - admin role | 8.22 sec | 14.54 sec | 16.47 sec | 28.55 sec |
          || Role-based configuration - admin role with 119 Project roles | 18.81 sec | 31.95 sec | 37.7 sec | 65 |



          I'm expecting it should be faster to open "{{*Project-A*}}" folder because it needs to process permission and load only *6* items,
          and slower to open "{{*Projects*}}" folder because it needs to process permissions and load for *34* items.
          Daniel Beck made changes -
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Rick Liu made changes -
          Resolution Original: Not A Defect [ 7 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          Rick Liu made changes -
          Attachment New: jenkins-startup.log.gz [ 36114 ]
          Rick Liu made changes -
          Attachment New: jenkins-startup-repeat01-0627.log [ 36115 ]
          Rick Liu made changes -
          Attachment New: jenkins-startup-repeat02-0628.log [ 36116 ]

            Unassigned Unassigned
            totoroliu Rick Liu
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: