Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-6958

Requisition list very slow to display


    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 14.0.0
    • Fix Version/s: 15.0.0
    • Component/s: Web UI - Admin
    • Security Level: Default (Default Security Scheme)
    • Labels:
    • Environment:
      Any system with more than a handful of requisitions in the filesystem


      To create fifty requisitions and get them all flushed to the filesystem, start OpenNMS and then do:

      for loop
      for X in {1..50} ; do provision.pl requisition create Test-$X ; provision.pl node add Test-$X node-$X node-$X ; provision.pl requisition list Test-$X ; done

      Now ready a stopwatch and visit Admin -> Manage Provisioning Requisitions. Or time it using curl:

      time (curl -u admin:admin http://localhost:8980/opennms/admin/provisioningGroups.htm)

      On my system with 50 single-node requisitions, the time is about 32 seconds. With 100 single-node requisitions it's about 71 seconds, so something like a linear increase proportional to the requisition count.

      This problem appears unrelated to my commit of 02 Oct which gives a minor facelift to the list; backing out those changes and doing a clean build / clean install makes no difference to the delay.

      While the page is loading, I see N+4 of the following messages where N is the number of requisitions:

      2014-10-09 17:22:41,599 DEBUG [qtp1835005793-561 - /opennms/admin/provisioningGroups.htm] o.o.n.p.p.FilesystemForeignSourceRepository: flush() called

      The pattern is interesting, I see two of them very close together, followed by a pause of about 2N seconds, then the remaining N+2 arrive at a steady rate of about 5 per second. These stats hold up for the two cases I've tested, N=50 and N=100, so don't put a ton of stock in them.




            • Assignee:
              agalue Alejandro Galue
              jeffg Jeff Gehlbach
            • Votes:
              0 Vote for this issue
              4 Start watching this issue


              • Created: